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。