npm install時遇到錯誤"error:0308010C:digital envelope routines::unsupported"的解決辦法

  今天早上打開電腦,更新了日常工作的github倉庫,然後就是習慣性地執行了"npm install",發現報了下面這個錯誤:

Error: error:0308010C:digital envelope routines::unsupported

  順便看了一下錯誤堆棧,發現是一個Node的內核文件拋出來的錯誤,我的第一反應這個錯誤應該是和Node的版本有關(前幾天剛剛升級過Node),所以理所當然地降低Node的版本應該可以解決這個問題。或者使用nvm(Windows平臺上也可以使用nvm-windows)安裝多個不同的Node版本。

  除了切換Node的版本來解決這個問題外,其實還可以嘗試啓用legacy OpenSSL provider來解決這個問題,通過下面的命令行操作起來更容易:

Unix (Linux, macOS, Git bash等)

export NODE_OPTIONS=--openssl-legacy-provider

Windows

set NODE_OPTIONS=--openssl-legacy-provider

PowerShell

$env:NODE_OPTIONS = "--openssl-legacy-provider"

 

  另外一個方法是在項目的package.json文件裏將

"start": "react-scripts start"

  替換成:

"start": "react-scripts --openssl-legacy-provider start"

  不過這個方法我沒有試過。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章