一般作業像是使用 gulp 也都沒有問題,但是若是要顯示一些資訊,例如列出全域的安裝套件,卻會出現一些 ERROR 訊息
後來把整個原本的 /usr/local/lib/node_modules 全部刪掉,重新再安裝 Node 並手動安裝 npm 後,終於又恢復正常啦~ 沒有 ERROR 的訊息感覺才正確!
參考資料:
以下指令說明:
- 把原本裝的全域套件先列出存到 ~/node_modules.txt
- 刪除整個 /usr/local/lib/node_modules 資料內容
- Homebrew 解除安裝 node
- Homebrew 安裝 node 但不要 npm
- 建立 ~/.npmrc 的檔案,內容是 prefix=~/.node 即為 npm 的安裝目錄
- 下載安裝 npm
- 把 ~/.node/bin 的路徑加到 ~/.bash_profile
- 重載 ~/.bash_profile
- 重新安裝原本的全域套件
- 刪掉暫存的 ~/node_modules.txt 檔案
執行的指令:
ls -1 /usr/local/lib/node_modules > ~/node_modules.txt
sed -e "s,/\+$,," -e "s,^/\+,," ~/node_modules.txt
rm -rf /usr/local/lib/node_modules
brew uninstall node --force node
brew install node --without-npm
echo prefix=~/.node >> ~/.npmrc
curl -L https://www.npmjs.com/install.sh | sh
echo 'export PATH="$HOME/.node/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile
for i in `cat ~/node_modules.txt`;do npm install -g $i;done
rm ~/node_modules.txt