今天想用 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/