node 版本管理工具 n 無效的原理及解決方案

n 是 node 的一個模塊,能夠用它來管理 node 的各類版本。相似 Python 中的 pyenv 和 Ruby 的 rbenv。n 的做者是著名的TJ大神。node

經過 npm 安裝 n:linux

$ npm install -g n

查看當前 node 版本:npm

$ node -v
v4.2.4

經過 n 安裝指定版本:vim

$ n 4.4.4
install : node-v4.4.4
       mkdir : /opt/node/n/versions/node/4.4.4
       fetch : https://nodejs.org/dist/v4.4.4/node-v4.4.4-linux-x64.tar.gz
###################################100.0%
   installed : v4.2.4

再查看當前 node 版本:bash

$ node -v
v4.2.4 #和原來同樣

若是你跟我同樣,發現 node 版本沒有任何變化,那最有可能的狀況就是,你的node的安裝目錄和 n 默認的路徑不同。
查看 node 當前安裝路徑:fetch

$ which node
/opt/node/bin/node  #舉個例子

而 n 默認安裝路徑是 /usr/local,若你的 node 不是在此路徑下,n 切換版本就不能把bin、lib、include、share 複製該路徑中,因此咱們必須經過N_PREFIX變量來修改 n 的默認node安裝路徑。code

編輯環境配置文件:io

vim ~/.bash_profile

將下面兩行代碼插入到文件末尾:變量

export N_PREFIX=/opt/node #node實際安裝位置
export PATH=$N_PREFIX/bin:$PATH

:wq保存退出;ejs

執行source使修改生效。

$ source ~/.bash_profile

確認一下環境變量是否生效:

echo $N_PREFIX
/opt/node

這時候咱們須要從新安裝:

$ n 4.4.4
install : node-v4.4.4
       mkdir : /opt/node/n/versions/node/4.4.4
       fetch : https://nodejs.org/dist/v4.4.4/node-v4.4.4-linux-x64.tar.gz
##############100.0%
   installed : v4.4.4

再查看當前 node 版本:

$ node -v
v4.4.4

說明修改爲功。

若有幫助,請點下方 「推薦」 按鈕。

相關文章
相關標籤/搜索