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 #刪除指定的模塊