快速預(yù)覽:
要在 linux 安裝如下依賴孙援,安裝成功但是顯示命令 not found
- 安裝 nodejs
- 安裝 npm
- 安裝 cnpm
- 安裝 http-server
正文開(kāi)始:
因?yàn)橘I了新電腦,nodejs 等環(huán)境要重新裝
安裝 nodejs 的時(shí)候遇到個(gè)問(wèn)題熊镣,即卑雁,可以使用 apt 安裝 nodejs,但是 npm 沒(méi)有
解決辦法:
# 下載
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
# 進(jìn)入 local绪囱,移動(dòng)文件夾
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
# 測(cè)試
node -v
npm -v
如果執(zhí)行
npm -v
報(bào)錯(cuò)為Cannot find module ‘semver’
测蹲,則面的步驟重新來(lái)
同樣,cnpm 安裝也是類似的方式:
# 使用 npm 安裝 cnpm
npm install cnpm -g --registry=https://registry.npm.taobao.org
# 會(huì)顯示安裝路徑 /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
# 測(cè)試
cnpm -v
# cnpm@6.1.1 (/usr/local/nodejs/lib/node_modules/cnpm/lib/parse_argv.js)
同理鬼吵,安裝 http-server 也是一樣的問(wèn)題
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
# 測(cè)試
http-server
其他:
若執(zhí)行 sudo xxx
命令報(bào)錯(cuò)
sudo: xxx command not found
則可能要排查 sudo
相關(guān)的問(wèn)題扣甲,因?yàn)榭赡馨惭b某個(gè) xxx
依賴的時(shí)候沒(méi)有使用 sudo
,但是執(zhí)行的時(shí)候需要使用 sudo
齿椅,從而導(dǎo)致系列問(wèn)題
以我遇到的問(wèn)題為例文捶,解決辦法:
# 安裝 tarojs
cnpm install -g @tarojs/cli
# taro 創(chuàng)建項(xiàng)目
taro init demo
# 報(bào)錯(cuò)為 permission denied荷逞,所以我加上 sudo
sudo taro init demo
# 報(bào)錯(cuò)為 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"
# 驗(yàn)證是否成功
# 關(guān)掉 bash 再次打開(kāi)
# 執(zhí)行
sudo taro init demo
# 沒(méi)有報(bào) permission 錯(cuò)誤,創(chuàng)建模板成功
參考資料: