在WSL中安裝node的問題與解決


title: 在WSL中安裝node的問題與解決
date: 2019-01-30 10:16:32


前言

由于下載WSL+cmder后,再也不想打開Windows的命令行了,便想將Windows下的環(huán)境變量也在WSL中設(shè)置一份,Node即其中之一。由于Windows二進制文件與linux的不兼容,所以是不能直接使用Windows下的環(huán)境變量的。于是,便需要自己手動在linux中下載node。

下載

在linux下,下載軟件方式眾多。由于我不太喜歡用apt-get進行下載,便準備自行下載。

首先,找到nodejs官網(wǎng)上編譯后的linux下載安裝包的鏈接(此處不選擇源碼下載,懶于編譯)。

下載安裝包:wget https://nodejs.org/dist/v10.15.1/node-v10.15.1-linux-x64.tar.xz

解壓安裝包:tar xvf node-v10.15.1-linux-x64.tar.xz

將解壓后的文件移動到/usr/app目錄下,這是我自定義的軟件下載目錄。

配置環(huán)境變量(第一種)

將nodejs加入環(huán)境變量中

修改配置全局環(huán)境變量配置文件:vim /etc/profile (需要root權(quán)限)

添加以下內(nèi)容:

export NODE_HOME=/usr/app/node-v10.15.1-linux-x64
export PATH=$PATH:$NODE_HOME/bin

大意是在所有的環(huán)境變量之后,加入node可執(zhí)行文件的目錄(即node環(huán)境變量)。

使用配置文件生效:source /etc/profile 或者 重啟

配置配置環(huán)境變量(第二種)

將可執(zhí)行文件軟鏈接到/usr/bin/目錄下,該目錄包涵了所有的可執(zhí)行命令。

ln -s /usr/app/node-v10.15.1-linux-x64/bin/node /usr/bin/
ln -s /usr/app/node-v10.15.1-linux-x64/bin/npm /usr/bin/

注意:軟鏈接一定要用絕對路徑

問題

node -v 查看無誤

npm -v 查看出錯。報錯原因:它找到Windows下node環(huán)境變量中npm執(zhí)行文件,出錯。

原因

echo $PATH 查看環(huán)境變量,發(fā)現(xiàn)其中有兩個nodejs環(huán)境變量路徑,前一個為windows的,后一個為linux的。WSL的缺點之處便在于:環(huán)境變量雜糅。

似乎找到了問題所在:由于Windows的node環(huán)境變量優(yōu)先于linux的,所以系統(tǒng)先匹配到Windows的node環(huán)境變量。但是,node -v為什么可以執(zhí)行呢?我也無從而知了(簡稱無知)。

解決

修改/etc/profile文件

export PATH=$PATH:$NODE_HOME/bin 換成 export PATH=$NODE_HOME/bin:$PATH

即將node環(huán)境變量置于所有環(huán)境變量之前。修改完別忘記source /etc/profile

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

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