多個Node.js版本之間切換

本篇文章會講windows和Mac系統(tǒng)下實(shí)現(xiàn)多個node.js版本之間的切換。

1.windows下采用nvm(nvm-window)

2.Mac下采用nvmn

注:window和mac下的nvm地址是不一樣的

一、windows系統(tǒng)

什么是nvm?

nvm是一個簡單的bash腳本,它是用來管理系統(tǒng)中多個已存的Node.js版本

配置步驟

1.先卸載掉本系統(tǒng)中原有的node版本(也可以不卸載,我覺得吧還是卸載吧,以免會有沖突。反正我是卸了);

卸載我就不細(xì)講了,在控制面板的程序和功能中就可以卸載掉。

2.去github上下載nvm安裝包

下載地址:https://github.com/coreybutler/nvm-windows/releases

下載說明

之后就是安裝了,解壓雙擊exe文件傻瓜安裝。

需要注意的是安裝路徑最好是C:\nvm,默認(rèn)的路徑安裝成功后,在切換node版本時會有問題。

還有就是在安裝成功后,會自動配置系統(tǒng)變量。這里不用管,只是知道有這么一回事就行了,以免以后修改環(huán)境變量的時候不要誤操作了就好。

截一下圖吧:


變量

NVM_HOME:nvm的安裝目錄

NVM_SYMLINK:node的安裝目錄

環(huán)境變量:

對了下載完找到nvm的安裝目錄,打開setting.txt文件,添加上下面兩個配置:

nvm node_mirror?https://npm.taobao.org/mirrors/node/

nvm npm_mirror?https://npm.taobao.org/mirrors/npm/

上截圖吧


setting配置

這一步可做可不做,配置的目的是將npm鏡像切換到淘寶的鏡像,可以提高下載速度。(就是喜歡這種快感)

接下來驗(yàn)證一下是否安裝成功

在cmd中輸入:nvm 出現(xiàn)下圖既成功

成功截圖

3.安裝node

安裝node首先得知道有哪些node版本,不然肯定會報錯的了(這就是廢話)

可以在這看:https://github.com/coreybutler/nodedistro/blob/master/nodeversions.json

不推薦在這看,原因1.打開github網(wǎng)站較慢。2.這上面的版本并不是最新的

還可以直接使用命令查看: nvm list available

node版本列表

之后就使用nvm命令下載nodejs

(1)我以10.13.0版本為例

npm install 10.13.0

(2)使用nvm use 10.13.0命令,切換node版本為10.13.0

nvm use 10.13.0

注意:這點(diǎn)很重要,安裝完后緊接著就用nuv use命令使用,不然你就是用不了這個node版本了。(這是個坑啊,MD,浪費(fèi)了我一上午的時間,此處省略一萬字,應(yīng)了一句話餃子要吃燙燙的)

假如真的是切換不了這個版本了,用nvm uninstall 10.13.0卸載這個版本再重新安裝即可。

(3)使用nvu list查看所有下載的node版本,以及當(dāng)前是哪個版本(當(dāng)前是10.13.0這個版本,我順道下了9.3.0和12.13.1這兩個版本)

nvu list

(4)運(yùn)行一下node命令看一下是否成功


查看node版本

出現(xiàn)這個就可以了? 至此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版本??蛇x的available,顯示可下載版本的部分列表。這個命令可以簡寫為nvm ls [available]。

nvm uninstall <version>: 卸載指定版本的nodejs。

nvm use [version] [arch]: 切換到使用指定的nodejs版本??梢灾付?2/64位[arch]。

還有一些其他的命令就不一一距舉例了


二、Mac系統(tǒng)

mac系統(tǒng)安裝nvm和n這兩個其中的一種就行

先來說 n

下面是三種安裝方式(選擇其中一種就行)

(1)如果你的mac上已經(jīng)有了node,就可以直接使用npm命令安裝

npm install -g n

安裝后,將版本n緩存在環(huán)境變量指定的目錄的node子目錄n/versions中N_PREFIX,默認(rèn)為/usr/local;?而主動?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

安裝n

2.查看一下安裝是否成功 n --version

查看n的版本

3.直接運(yùn)行n,會提示沒有可以切換的node版本,雖然以前已經(jīng)安裝過node ,但是還是要安裝一下才可以進(jìn)行切換

查看安裝的node版本,圖中表示沒有安裝node

4.安裝node版本,n 10.13.0

安裝node版本

如果在安裝的過程中遇到Error: sudo required

此時使用sudo n 10.13.0即可

使用sudo安裝node

命令格式為: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?

查看已經(jīng)安裝的node版本,選中的為當(dāng)前node版本

鍵盤上下鍵選擇版本,之后回車切換版本

這時候會出現(xiàn)如下報錯,也是無權(quán)限,解決辦法有三個:


無權(quán)限

(1)直接用 sudo n,之后再選擇node版本,回車就好了。

?sudo n

(2)sudo su 切換至root用戶,之后在用n查看版本,之后再選擇node版本,回車就好了。

sudo su

(3)用sudo n 10.13.0 沒錯這就是安裝命令,如果這個版本沒有安裝時,則安裝這個版本,如果這個版本已經(jīng)安裝了,則切換的這個node版本。

sudo n

切換完看一下這個node版本node -v

node -

完美,安裝完成。

奧對了? 如果想卸載某個node版本直接 n rm 10.13.0 就可以了(沒有權(quán)限就加上sudo)

最后有些同學(xué)存在切換并不好使的情況,我沒有遇到,但是那我也是嘗試這去看以一些帖子,推薦一個吧:https://blog.csdn.net/ruffaim/article/details/83578710

以后我要是遇到此類問題,我會及時來更新文章的


再來說說Mac下使用nvm吧

總體來說和window下使用nvm差不了太多

安裝nvm還是建議先把原有node卸載,不要問我為什么,我也不知道,大幾率會出問題

下面是卸載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 模塊注冊的軟鏈


之后就是在安裝nvm是有些不同,直接在命令行輸入下面命令

curl -o-?https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh?| bash

之后輸入 nvm ,當(dāng)看到有輸出時,說明安裝成功,如果說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)境變量。

如果沒有這個文件,可以創(chuàng)建一個。參考學(xué)習(xí)的文章:http://blog.sina.com.cn/s/blog_8444778b0102x68e.html


至此nvm也就安裝好了,具體的使用方法直接參考window下的nvm操作就好了,具體詳情請看window部分


常用的一些nvm 命令

nvm install stable //安裝最新版?

nodenvm install [node版本號] //安裝指定版本的

nodenvm use [node版本號] //切換到指定版本的node

nvm alias default [node版本號] //設(shè)置默認(rèn)版本


好了, 整理了一天,終于整完了,我只能說都是坑啊,愿所有同學(xué)此生再無bug

小白一只,不喜勿噴。如有錯誤或不妥之處,還敬請大佬指正。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容