本篇文章會(huì)講windows和Mac系統(tǒng)下實(shí)現(xiàn)多個(gè)node.js版本之間的切換。
1.windows下采用nvm(nvm-window)
注:window和mac下的nvm地址是不一樣的
一、windows系統(tǒng)
什么是nvm?
nvm是一個(gè)簡單的bash腳本,它是用來管理系統(tǒng)中多個(gè)已存的Node.js版本
配置步驟
1.先卸載掉本系統(tǒng)中原有的node版本(也可以不卸載,我覺得吧還是卸載吧,以免會(huì)有沖突。反正我是卸了);
卸載我就不細(xì)講了,在控制面板的程序和功能中就可以卸載掉。
2.去github上下載nvm安裝包
下載地址:https://github.com/coreybutler/nvm-windows/releases
之后就是安裝了,解壓雙擊exe文件傻瓜安裝。
需要注意的是安裝路徑最好是C:\nvm,默認(rèn)的路徑安裝成功后,在切換node版本時(shí)會(huì)有問題。
還有就是在安裝成功后,會(huì)自動(dòng)配置系統(tǒng)變量。這里不用管,只是知道有這么一回事就行了,以免以后修改環(huán)境變量的時(shí)候不要誤操作了就好。
截一下圖吧:
NVM_HOME:nvm的安裝目錄
NVM_SYMLINK:node的安裝目錄
對(duì)了下載完找到nvm的安裝目錄,打開setting.txt文件,添加上下面兩個(gè)配置:
nvm node_mirror?https://npm.taobao.org/mirrors/node/
nvm npm_mirror?https://npm.taobao.org/mirrors/npm/
上截圖吧
這一步可做可不做,配置的目的是將npm鏡像切換到淘寶的鏡像,可以提高下載速度。(就是喜歡這種快感)
接下來驗(yàn)證一下是否安裝成功
在cmd中輸入:nvm 出現(xiàn)下圖既成功
3.安裝node
安裝node首先得知道有哪些node版本,不然肯定會(huì)報(bào)錯(cuò)的了(這就是廢話)
可以在這看:https://github.com/coreybutler/nodedistro/blob/master/nodeversions.json
不推薦在這看,原因1.打開github網(wǎng)站較慢。2.這上面的版本并不是最新的
還可以直接使用命令查看: nvm list available
之后就使用nvm命令下載nodejs
(1)我以10.13.0版本為例
(2)使用nvm use 10.13.0命令,切換node版本為10.13.0
注意:這點(diǎn)很重要,安裝完后緊接著就用nuv use命令使用,不然你就是用不了這個(gè)node版本了。(這是個(gè)坑啊,MD,浪費(fèi)了我一上午的時(shí)間,此處省略一萬字,應(yīng)了一句話餃子要吃燙燙的)
假如真的是切換不了這個(gè)版本了,用nvm uninstall 10.13.0卸載這個(gè)版本再重新安裝即可。
(3)使用nvu list查看所有下載的node版本,以及當(dāng)前是哪個(gè)版本(當(dāng)前是10.13.0這個(gè)版本,我順道下了9.3.0和12.13.1這兩個(gè)版本)
(4)運(yùn)行一下node命令看一下是否成功
出現(xiàn)這個(gè)就可以了? 至此nvm安裝成功
常用的一些nvm命令
nvm install <version> [arch]:該可以是node.js版本或最新穩(wěn)定版本latest。(可選[arch])指定安裝32位或64位版本(默認(rèn)為系統(tǒng)arch)。設(shè)置[arch]為all以安裝32和64位版本。
nvm list [available]:列出已經(jīng)安裝的node.js版本。可選的available,顯示可下載版本的部分列表。這個(gè)命令可以簡寫為nvm ls [available]。
nvm uninstall <version>: 卸載指定版本的nodejs。
nvm use [version] [arch]: 切換到使用指定的nodejs版本。可以指定32/64位[arch]。
還有一些其他的命令就不一一距舉例了
二、Mac系統(tǒng)
mac系統(tǒng)安裝nvm和n這兩個(gè)其中的一種就行
先來說 n
下面是三種安裝方式(選擇其中一種就行)
(1)如果你的mac上已經(jīng)有了node,就可以直接使用npm命令安裝
npm install -g n
安裝后,將版本n緩存在環(huán)境變量指定的目錄的node子目錄n/versions中N_PREFIX,默認(rèn)為/usr/local;?而主動(dòng)?node版本直接安裝在N_PREFIX。
為了避免需要sudo的n和npm全球的安裝,建議您或者使用安裝到你的主目錄N_PREFIX,或采取系統(tǒng)目錄的所有權(quán):
# make cache folder (if missing) and take ownership
sudo mkdir -p /usr/local/nsudo chown -R $(whoami) /usr/local/n
# take ownership of node install destination folders
sudo chown -R $(whoami) /usr/local/bin /usr/local/lib /usr/local/include /usr/local/share
(2)如果沒有node,也可以通過另一種方式安裝
curl -L https://raw.githubusercontent.com/tj/n/master/bin/n -o n
bash n lts
# Now node and npm are available
(3)使用第三方安裝
curl -L https://git.io/n-install | bash
因?yàn)槲乙呀?jīng)有了node,這里我是通過第一種方式安裝的。
1.先來執(zhí)行npm install -g n
2.查看一下安裝是否成功 n --version
3.直接運(yùn)行n,會(huì)提示沒有可以切換的node版本,雖然以前已經(jīng)安裝過node ,但是還是要安裝一下才可以進(jìn)行切換
4.安裝node版本,n 10.13.0
如果在安裝的過程中遇到Error: sudo required
此時(shí)使用sudo n 10.13.0即可
命令格式為:n node-version
如:n 10.13.0? ?安裝10.13.0版本
? ? ? n latest? ?安裝最新的官方發(fā)布
? ? ?n stable? ?安裝穩(wěn)定的官方發(fā)布
? ? ?n lts? ??安裝最新的LTS官方版本
我的Mac系統(tǒng),所有已經(jīng)安裝的node版本存放路徑:/usr/local/n/versions/node
5.切換node版本
先執(zhí)行n?
鍵盤上下鍵選擇版本,之后回車切換版本
這時(shí)候會(huì)出現(xiàn)如下報(bào)錯(cuò),也是無權(quán)限,解決辦法有三個(gè):
(1)直接用 sudo n,之后再選擇node版本,回車就好了。
(2)sudo su 切換至root用戶,之后在用n查看版本,之后再選擇node版本,回車就好了。
(3)用sudo n 10.13.0 沒錯(cuò)這就是安裝命令,如果這個(gè)版本沒有安裝時(shí),則安裝這個(gè)版本,如果這個(gè)版本已經(jīng)安裝了,則切換的這個(gè)node版本。
切換完看一下這個(gè)node版本node -v
完美,安裝完成。
奧對(duì)了? 如果想卸載某個(gè)node版本直接 n rm 10.13.0 就可以了(沒有權(quán)限就加上sudo)
最后有些同學(xué)存在切換并不好使的情況,我沒有遇到,但是那我也是嘗試這去看以一些帖子,推薦一個(gè)吧:https://blog.csdn.net/ruffaim/article/details/83578710
以后我要是遇到此類問題,我會(huì)及時(shí)來更新文章的
再來說說Mac下使用nvm吧
總體來說和window下使用nvm差不了太多
安裝nvm還是建議先把原有node卸載,不要問我為什么,我也不知道,大幾率會(huì)出問題
下面是卸載node命令?
npm ls -g --depth=0 # 查看已經(jīng)安裝在全局的模塊,以便刪除這些全局模塊后再按照不同的 node 版本重新進(jìn)行全局安裝
sudo rm -rf /usr/local/lib/node_modules # 刪除全局 node_modules 目錄
sudo rm /usr/local/bin/node # 刪除 node
cd? /usr/local/bin && ls -l | grep "../lib/node_modules/" | awk '{print $9}'| xargs rm # 刪除全局 node 模塊注冊(cè)的軟鏈
之后就是在安裝nvm是有些不同,直接在命令行輸入下面命令
curl -o-?https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh?| bash
之后輸入 nvm ,當(dāng)看到有輸出時(shí),說明安裝成功,如果說nvm沒有找到command not found,說明安裝失敗
在?.bash_profile 文件中加入以下代碼,配置環(huán)境變量。
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
編輯完成后直接保存文件。
然后終端輸入“source .bash_profile”,更新配置過的環(huán)境變量。
如果沒有這個(gè)文件,可以創(chuàng)建一個(gè)。參考學(xué)習(xí)的文章:http://blog.sina.com.cn/s/blog_8444778b0102x68e.html
至此nvm也就安裝好了,具體的使用方法直接參考window下的nvm操作就好了,具體詳情請(qǐng)看window部分
常用的一些nvm 命令
nvm install stable //安裝最新版?
nodenvm install [node版本號(hào)] //安裝指定版本的
nodenvm use [node版本號(hào)] //切換到指定版本的node
nvm alias default [node版本號(hào)] //設(shè)置默認(rèn)版本
好了, 整理了一天,終于整完了,我只能說都是坑啊,愿所有同學(xué)此生再無bug
小白一只,不喜勿噴。如有錯(cuò)誤或不妥之處,還敬請(qǐng)大佬指正。