一、利用n 升級Node.js
最近在用NPM安裝一個nodejs工具時發現,我的nodejs的版本有些舊了。這不是大問題,只要升級就可以了,當然,重新從nodejs.org最新版本是一種方法,但我想應該有更簡單的方法,那就是使用 n 這個工具包,我們可以使用NPM先安裝 n 工具包,然后用它升級nodejs,十分的方便。
sudo npm cache clean -fsudo npm install -g nsudo n stable
上面這是使用 n 來安裝最新的穩定版的nodejs。
n 是一個Node工具包,它提供了幾個升級命令參數:
比如,你想安裝指定的版本號:
sudo n 0.8.21
一旦安裝完成,你可以通過下面的命令確認安裝的版本:
node -v
二、mac環境下的測試
本文環境基于Mac OS X EI Capitan V10.11.4,應該是mac環境的通病。
在命令行里輸入(網上的方法):
sudo npm install -g n
接著又輸入 sudo n stable
然后命令行里開始顯示百分比,從1% 慢慢變到100%,我以為更新完了,結果。。。
輸入 node -v 顯示:
dyld: Symbol not found: Referenced from: /usr/local/bin/node Expected in: /usr/lib/libstdc++.6.dylib Trace/BPT trap: 5
然后就知道麻煩來了,總之,npm后都是這樣子,網上百度各種辦法,重裝gcc , 卸載node重裝, 添加環境變量等等。。。。
反正各種方法都行不同, 真不知道 n 這個工具到底是否能夠在mac上用,反正好多人遇到類似辦法都沒有解決。
拋棄n工具
既然n不能夠在我的mac上起到升級作用,且還搞壞了node系統,且網上沒有搜到有效的相關解決方案,那邊只好卸載完全卸載node后重裝了。
由于用了brew安裝的node ,用 brew uninstall node 卸載node后發現還是沒有解決問題。
那么一定是這個命令沒有完全卸載node,那么只好自己手動卸載了。
cd 到根目錄
find . -name "node" find . -name "npm"
刪除所有搜索與node相關的結果
重新 brew instll node
安裝結束肯能會提示err:
Error: The `brew link` step did not complete successfully The formula built, but is not symlinked into /usr/local Could not symlink lib/dtrace/node.d Target /usr/local/lib/dtrace/node.d already exists. You may want to remove it: rm '/usr/local/lib/dtrace/node.d' To force the link and overwrite all conflicting files: brew link --overwrite node
不用慌張,安照錯誤提示操作
rm '/usr/local/lib/dtrace/node.d'` brew link --overwrite node
重新運行命令發現node -v 安裝成功了。npm -v后確認,重裝成果。
node又恢復正常了!所以在mac環境下要慎用n升級工具來升級node.js版本。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
新聞熱點
疑難解答