wsl:ubuntu / linux 安裝 nodejs ,npm和 cnpm

快速預(yù)覽:

要在 linux 安裝如下依賴,安裝成功但是顯示命令 not found

  • 安裝 nodejs
  • 安裝 npm
  • 安裝 cnpm
  • 安裝 http-server

正文開始:

因為買了新電腦,nodejs 等環(huán)境要重新裝

安裝 nodejs 的時候遇到個問題,即,可以使用 apt 安裝 nodejs,但是 npm 沒有

解決辦法:

# 下載
wget https://nodejs.org/dist/v14.4.0/node-v14.4.0-linux-x64.tar.xz
# 解壓 到 local 文件夾
tar -xf node-v14.4.0-linux-x64.tar.xz /usr/local

# 進入 local,移動文件夾
cd /usr/local/

sudo mv node-v14.4.0-linux-x64/ nodejs

# 建立連接

sudo ln -s /usr/local/nodejs/bin/node /usr/local/bin

# sudo ln -s /usr/local/nodejs/bin/npm /usr/local/bin

# 測試

node -v

npm -v

如果執(zhí)行 npm -v 報錯為 Cannot find module ‘semver’,則面的步驟重新來

同樣,cnpm 安裝也是類似的方式:

# 使用 npm 安裝 cnpm

npm install cnpm -g --registry=https://registry.npm.taobao.org  
# 會顯示安裝路徑 /usr/local/nodejs/bin/cnpm -> /usr/local/nodejs/lib/node_modules/cnpm/bin/cnpm

# 建立軟連接

sudo ln -s /usr/local/nodejs/lib/node_modules/cnpm/bin/cnpm /usr/local/bin/cnpm

# 測試

cnpm -v
# cnpm@6.1.1 (/usr/local/nodejs/lib/node_modules/cnpm/lib/parse_argv.js)

同理,安裝 http-server 也是一樣的問題

sudo npm install -g http-server
# /usr/local/nodejs/bin/http-server -> /usr/local/nodejs/lib/node_modules/http-server/bin/http-server

# 建立連接
sudo ln -s /usr/local/nodejs/lib/node_modules/http-server/bin/http-server /usr/local/bin/http-server

# 測試
http-server

其他:

若執(zhí)行 sudo xxx 命令報錯

sudo: xxx command not found

則可能要排查 sudo 相關(guān)的問題,因為可能安裝某個 xxx 依賴的時候沒有使用 sudo ,但是執(zhí)行的時候需要使用 sudo,從而導(dǎo)致系列問題

以我遇到的問題為例,解決辦法

# 安裝 tarojs
cnpm install -g @tarojs/cli

# taro 創(chuàng)建項目

taro init demo

# 報錯為 permission denied,所以我加上 sudo

sudo taro init demo

# 報錯為 sudo: taro command not found

# 解決辦法:

# 找到 taro 的位置

which taro

# /usr/local/nodejs/bin/taro

# 編輯 /etc/sudoers
sudo vi /etc/sudoers

# 找到 secure_path 在最后加上 :/usr/local/nodejs/bin

Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"

# 結(jié)果為

Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/usr/local/nodejs/bin"

# 驗證是否成功

# 關(guān)掉 bash 再次打開

# 執(zhí)行

sudo taro init demo

# 沒有報 permission 錯誤,創(chuàng)建模板成功

參考資料:

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

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