解決 mac os 上 npm 不能全局安裝 express 腳手架的問題


今天想用 express 腳手架,這樣開發速度會快很多,因此需要全局安裝:

npm install -g express-generator

報錯; 

使用 sudo ,同樣報錯;

sudo npm install -g express-generator

 

 

 

 解決過程:

1. 嘗試更新 npm 

sudo npm i -g npm

再次安裝,報錯; 

 

這個報錯有個明顯的提示:

npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules/express-generator'

說明訪問 /usr/local/lib/node_modules/express-generator 的權限被拒絕。

npm 官方文檔中有這樣的解決辦法:https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally

 

官方文檔中提了兩個解決問題的辦法:

  • 重新安裝 npm 與 node.js
  • 手動更改 npm 的默認目錄

 

重新安裝是避免權限問題的最佳辦法,但是重新安裝前要先刪除當前電腦中的 npm 與 node.js,這個比較簡單,就不說了。

 

這里嘗試使用 Stack Overflow 的更改權限方法,推薦做法:

  • 首先先檢查 
    /usr/local/lib/node_modules 的權限
ls -la /usr/local/lib/node_modules

 

 可以看到 npm / express-generator 是由 root 來控制。

  • 需要使用命令來將 root 更改為當前用戶
//先查看當前用戶
id -un

返回為 apple

 

 

  • 更改權限
//更改權限,將user添加到權限列表中去
sudo chown -R $USER /usr/local/lib/node_modules
  • 更次執行全局安裝命令
//全局安裝 express 腳手架
npm install -g express-generator

提示已經安裝成功了。

 

 

安裝成功后 使用 命令可以查看幫助:express -h

 

 

使用腳手架命令快速建立 express 項目:

//命令后面填寫 express 項目目錄名稱 express-demo
express -e express-demo

然后跟隨提示,運行 express 項目:

 

 瀏覽器運行:http://localhost:5000/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM