nvm可以管理node不同版本之間的絲滑切換琼懊,避免重復(fù)入坑,特此記錄开睡。
注意:在下載nvm之前需要卸載本電腦已經(jīng)安裝的node!(參考:http://www.reibang.com/p/88cd55296983)
卸載從node官網(wǎng)下載pkg安裝的node
sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*}
卸載不干凈可細(xì)分刪除
第一步:打開(kāi)終端在扰,輸入以下命令顯示 Node.js 的安裝路徑:
? ? which node執(zhí)行該命令后,會(huì)顯示安裝路徑:/usr/local/bin/node
第二步:輸入以下命令刪除 Node.js 相關(guān)的文件:
? sudo rm -rf /usr/local/bin/npm
? sudo rm -rf /usr/local/share/man/man1/node.1
? sudo rm -rf /usr/local/lib/dtrace/node.d
? sudo rm -rf ~/.npm
? sudo rm -rf ~/.node-gyp
? sudo rm /usr/local/bin/node
該命令會(huì)刪除 Node.js 的可執(zhí)行文件庭再、npm 包管理器捞奕、手冊(cè)頁(yè)、DTrace 跟蹤文件和用戶目錄下相關(guān)文件拄轻。
第三步:確定是否完全卸載 Node.js颅围。在終端中輸入以下命令:
node -v? 如果顯示“command not found”,則表示已經(jīng)卸載干凈恨搓。
開(kāi)啟nvm旅程
一院促、進(jìn)入官網(wǎng)http://nvm.uihtm.com/ 下載選擇nvm for mac
安裝參考:https://nvm.uihtm.com/#nvm-mac
遇到問(wèn)題匯總:
1、nvm安裝失敗
解決方案:
終端中輸入:? sudo vim /etc/hosts
編輯插入: 185.199.110.133 raw.githubusercontent.com
按鍵盤(pán)鍵 esc
輸入:? :wq 保存退出編輯
退出后繼續(xù)執(zhí)行curl
成功
提示:如果沒(méi)有成功斧抱,換剩下的ip地址常拓,多試幾次。
拓展
配置nvm
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"如果你使用的是 `zsh` 終端辉浦,你還需要添加以下內(nèi)容:
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"參考(文章 https://zhuanlan.zhihu.com/p/628104200),用來(lái)理解nvm安裝成功后, .bash_profile文件中的命令含義
這里也直接解釋了問(wèn)題3配置的原因
當(dāng)從bash切換為zsh時(shí)弄抬,如果不想重新配置一遍.zshrc文件,可以__在.zshrc文件中加上source ~/.bash_profile宪郊,從而直接從.bash_profile文件讀取配置掂恕。
2拖陆、nvm -v 提示
解決辦法
參考: https://blog.csdn.net/echollk/article/details/128722478
終端輸入: source ~/.bash_profile? // 使得配置的環(huán)境變量才生效
因?yàn)閙ac自帶終端與vscode同時(shí)使用,會(huì)出現(xiàn)重啟后依然提示zsh:command not find : nvm,也就引出了問(wèn)題3
3、終端重啟后提示zsh:command not find : nvm
參考:https://blog.csdn.net/zm_miner/article/details/124850215
cd ~
創(chuàng)建 .bashrc文件
sudo vim ~/.bash_profile
添加一行? source? ~/.bashrc // 按照自身?yè)Q環(huán)境變量是否有需要
按esc鍵, :wq 保存退出編輯
執(zhí)行source ~/.bash_profile
依然提示zsh:command not find : nvm
zsh終端必要的條件如下:
cd ~
找到~/.zshrc文件
找不到就重新建 touch ~/.zshrc文件
添加一行代碼: source ~/.bash_profile
按esc鍵, :wq 保存退出編輯
執(zhí)行source ~/.zshrc
這個(gè)時(shí)候在iTerm的終端使用nvm 就可以了
在vscode新開(kāi)一個(gè)終端使用nvm 也可以了
如果如果不行在.zshrc 最底部加入這些試試: PATH=/bin:/usr/bin:/usr/local/bin:${PATH} export PATH
到這里才算實(shí)實(shí)在在安裝完成!
解釋說(shuō)明: 怎么修改懊亡,環(huán)境變量都不生效依啰,比如修改的是~/.bash_profile,那么必須`source~/.bash_profile`才能生效店枣,而且重啟后繼續(xù)無(wú)效速警,為什么呢?因?yàn)?zsh 鸯两!終端是iTerm闷旧,它很炫酷,但是就是環(huán)境變量搞不成甩卓。安裝 zsh后鸠匀,~/.bash_profile并沒(méi)有被執(zhí)行,所以需要編輯 zsh 的配置文件~/.zshrc逾柿,在該文件里加入
拓展: 關(guān)于zsh終端與bash終端
兩者都是shell的一種,zsh都?jí)蚧就昝赖募嫒輇ash的命令
1缀棍、mac終端默認(rèn)zsh
zsh對(duì)應(yīng)的配置文件
~/.zprofile: 在用戶主目錄下,以加載配置文件相關(guān)的配置
~/.zshrc:文件包含一些用于配置新打開(kāi)的shell的命令机错。這與用戶登錄時(shí)執(zhí)行的.zprofile文件不同2爬范、bash不是默認(rèn)的,也是平時(shí)比較常用的終端
bash對(duì)應(yīng)的配置文件
~/.bashrc:該文件包含專(zhuān)用于你的bash shell的bash信息,當(dāng)?shù)卿洉r(shí)以及每次打開(kāi)新的shell時(shí),該文件被讀取.
~/.bash_profile:每個(gè)用戶都可使用該文件輸入專(zhuān)用于自己使用的shell信息,當(dāng)用戶登錄時(shí),該文件僅僅執(zhí)行一次!默認(rèn)情況下,他設(shè)置一些環(huán)境變量,執(zhí)行用戶的.bashrc文件.
執(zhí)行順序:最開(kāi)始全局加載 /etc/.profile 文件弱匪,再執(zhí)行 ~/.profile 或者 ~/.bash_profile 文件青瀑,之后加載 ~/.bashrc文件3、配置文件讀取
bash讀取的配置文件: ~/.bash_profile文件
zsh讀物的配置文件:~/.zshrc文件
所以在默認(rèn)zsh終端的mac上,通常會(huì) 在~/.zshrc文件里加一句 source ~/.bash_profile萧诫。去執(zhí)行用戶配置在~/.bash_profile文件的信息4斥难、名詞解釋
“~ ” 你的home目錄,在OS X下位于/Users/你的用戶名/
“.” 類(lèi)unix下的隱藏文件帘饶,文件名帶"."之后在GUI文件管理器和ls的默認(rèn)設(shè)置下不會(huì)顯示出來(lái)哑诊,使用ls -a命令可以顯示出這些文件。
zshrc是一個(gè)文件及刻,準(zhǔn)確的說(shuō)這個(gè)文件的文件名是".zshrc".5镀裤、常見(jiàn)命令
? ? ? echo $PATH? 查看系統(tǒng)路徑
? ? ? echo $SHELL 查看默認(rèn)shell
? ? ? cat /etc/shells? 查看已經(jīng)安裝的shell
二、nvm常用命令
nvm install ## 安裝指定版本缴饭,可模糊安裝暑劝,如:安裝v6.2.0,既可nvm install v6.2.0颗搂,又可nvm install 6.2
nvm uninstall ## 刪除已安裝的指定版本担猛,語(yǔ)法與install類(lèi)似
nvm use ## 切換使用指定的版本node
nvm ls ## 列出所有安裝的版本
nvm ls-remote ## 列出所以遠(yuǎn)程服務(wù)器的版本(官方node version list)
nvm current ## 顯示當(dāng)前的版本
nvm alias ## 給不同的版本號(hào)添加別名
nvm unalias ## 刪除已定義的別名
nvm reinstall-packages ## 在當(dāng)前版本node環(huán)境下,重新全局安裝指定版本號(hào)的npm包
nvm對(duì)node的版本管理
nvm on:? :開(kāi)啟node.js版本管理。
nvm off :? :關(guān)閉node.js版本管理毁习。
三智嚷、卸載? (暫時(shí)還未實(shí)踐,等我有需要實(shí)踐后再具體寫(xiě))
nvm use system
npm uninstall -g a_module
四、其他安裝方式請(qǐng)參考官網(wǎng)