npm ERR! Error: CERT_UNTRUSTED的問題解決

天府雲創發表於2019-04-03

nodejs我就不介紹了,最近IT很火的技術,功能很強大。筆者也著實研究了一把。在安裝某個nodejs軟體專案時報錯:

npm ERR! Error: CERT_UNTRUSTED

經過仔細排查和google,原來是ssl 的問題:

解決辦法:

npm config set strict-ssl false

或者

npm config set registry=”http://registry.npmjs.org/”

繼續錯誤error-code-ELIFECYCLE,執行如下命令
npm cache clear --force
npm install -g npm  (升級)

解決方法:命令提示符(以管理員執行)【如果是windows則是以超級管理員執行命令,linux需要要sudo】

注意最後一句提示:請嘗試以root / Administrator身份再次執行此命令。

在命令前加上 sudo
sudo npm install --save-dev grunt 
不過這樣子可能還是不行,你需要這樣:

sudo npm install --unsafe-perm=true --save-dev grunt
或許你還是會遇到錯誤,請嘗試這樣:

sudo npm install --unsafe-perm=true --allow-root --save-dev grunt

背景:在linux上安裝好nodejs後,使用npm install命令安裝專案相關依賴一直都報permission denied許可權未定義的問題,我本身就是root使用者了。

解決辦法 ,需要這個命令。

npm install --unsafe-perm=true --allow-root

更換一個npm安裝源,具體方法如下:  

 1、通過config命令   npm config set registry https://registry.npm.taobao.org   npm info underscore (如果上面配置正確這個命令會有字串response)    

2、命令列指定   npm --registry https://registry.npm.taobao.org info underscore  然後再安裝就好了

然後重新執行npm install -g **** 就OK啦~~~

 

總結經驗心得:

養成個好的習慣 專案生命週期內每次安裝新的依賴模組的時候 npm install xxx --save
npm 加了--save 依賴模組的版本資訊都會寫入 package.json 中
這樣每次換伺服器部署的時候 直接 cp package 檔案 執行 npm install 就可以按照 package.json 中的資訊(還原)部署好一樣依賴執行環境

當然最重要的還是 node 的版本相容是首要的

按照我的理解,這種node專案,不僅僅是要指明依賴包的版本,同時也要指明其他依賴關係的版本,比如執行環境版本號和構建工具版本號,作業系統、資料庫版本等,因為node變化的實在太快了(更新版本快,ECS語法也不同)

node版本太低了怎麼辦?

安裝n模組:sudo npm install -g n (node有一個模組叫n,是專門用來管理node.js的版本的。)

升級node.js到最新穩定版   在終端輸入: n stable

可以查下安裝成功的node版本:node -v

分享幾個npm的常用命令

npm -v          #顯示版本,檢查npm 是否正確安裝。

npm install express  #安裝express模組

npm install -g express  #全域性安裝express模組

npm list        #列出已安裝模組

npm show express    #顯示模組詳情

npm update        #升級當前目錄下的專案的所有模組

npm update express    #升級當前目錄下的專案的指定模組

npm update -g express  #升級全域性安裝的express模組

npm uninstall express  #刪除指定的模組

 

相關文章