[英]zshrc "command not found: npm"
所以我正在研究學習 node.js。 我一直在按照本教程安裝它並嘗試一些東西。
無論如何,npm 的行為真的很奇怪。 它會工作一段時間(例如,我更改了它的查看器配置設置),但突然“消失”,以便下次我輸入
npm ...(anything)
在命令行中,我的 shell 通知我未找到 npm 命令。 以前,使用 nvm 卸載然后重新安裝 npm 是有效的,但我不想每十分鍾執行一次,而且它會突然停止工作對我來說非常奇怪。
我想最后一次,它在我編輯然后重新獲取我的 ~/.zshrc 文件后停止工作 - 剛剛添加了 npm 和 node tab-completion 插件。
知道發生了什么嗎? 我將發布幾個基本命令的結果,但我對 sysadmin 的東西真的很糟糕,而且我真的不知道在這里尋找什么。
nvm -ls
v0.8.22
current: v0.10.2
default -> 0.8 (-> v0.8.22)
哪個節點
/usr/bin/node
哪個 npm
npm not found
我的根文件夾中直接有 nvm(這是重復的嗎?)和 npm 目錄。
如果我進入 /usr/bin,節點是一個文件,而不是一個目錄。 還有一個文件 npm,但沒有文件 nvm。
正如以上所有可能表明的那樣,我真的不知道發生了什么。 我已經搜索過這個,但似乎沒有人有這個問題。 任何想法發生了什么或如何找出?
編輯注意到我的默認節點不是最新的,我做了所有這些。 撇開為什么我的 shell 自動將我切換到 bin 目錄(以及為什么這似乎是一個 github 存儲庫 - 不知道我的電腦怎么了),這是否提供了任何線索?:
➜ node nvm alias default v0.10.2
default -> v0.10.2
➜ node nvm ls
v0.8.22
current: v0.10.2
default -> v0.10.2
➜ node npm
zsh: command not found: npm
➜ node nvm install npm
######################################################################## 100.0%
Checksums do not match.
Binary download failed, trying source.
Additional options while compiling:
nvm: install N/A failed!
➜ bin git:(master) nvm uninstall npm
N/A version is not installed yet... installing
######################################################################## 100.0%
Checksums do not match.
Binary download failed, trying source.
Additional options while compiling:
nvm: install N/A failed!
➜ bin git:(master) cd ~/rails/node
編輯 2 - 我確保節點路徑已添加到我的 zshrc 文件中:
#other stuff...
export PATH=(...):/usr/bin/node
但是當我然后嘗試運行時
source ~./zshrc
我收到了這樣的投訴:
.zshrc:11: command not found: npm
指向這些行(添加數字):
10 . ~/nvm/nvm.sh
11 . <(npm completion)
我從上面的 tut 得到了,回到 npm 工作時,查找如何實現選項卡完成。
回應 Jens
這是在我的 ~/nvm/nvm.sh 文件中,靠近開始處:
# Auto detect the NVM_DIR
if [ ! -d "$NVM_DIR" ]; then
export NVM_DIR=$(cd $(dirname ${BASH_SOURCE[0]:-$0}) && pwd)
fi
# Make zsh glob matching behave same as bash
# This fixes the "zsh: no matches found" errors
if [ ! -z "$(which unsetopt 2>/dev/null)" ]; then
unsetopt nomatch 2>/dev/null
fi
我嘗試(並且我認為成功)修改了 npm 目錄以使其可讀/寫/可執行。
nano ~/.zshrc
export PATH="$PATH:/usr/local/share/npm/bin"
source ~/.zshrc
這個簡單的過程對我有用:-)
我的 Mac 遇到了同樣的問題,我做了以下操作:
~/.zshrc
路徑通常是/usr/local/bin
npm
將此添加到我的 ./zshrc 文件對我在 ubuntu 19.10 上有所幫助:
export NVM_DIR=~/.nvm [ -s "$NVM_DIR/nvm.sh" ] && 。 “$NVM_DIR/nvm.sh”
來源: https : //superuser.com/questions/1403007/zsh-npm-node-nvm-command-not-found-after-installing-ohmyzsh
老實說,不確定這是否會/會解決您/正在遇到的問題,但是我幾乎完全按照您的描述進行了體驗-npm 在何處工作,但隨后隨機完全停止工作-我嘗試了很多相同的問題人們在這里建議的事情沒有運氣。
最終為我做的伎倆,就像這聽起來一樣簡單/愚蠢,是:
source ~/.bash_profile
我希望我能更好地解釋為什么那是靈丹妙葯,但至少它有效!
干杯!
curl -L https://npmjs.org/install.sh | sh
我在全新的 Mac OS 安裝上進行了嘗試,效果很好!
對於我和其他到達這里的谷歌員工來說,問題是在 Ubuntu 上調用 sudo 時,使用的是secure_path
,其中不包括 NPM。
您可以禁用secure_Path
,這似乎絕對不推薦。 因此,我只是將節點 bin 附加到secure path
,當通過 NVM 安裝時,對我來說看起來像這樣
然后將/home/YourUsername/.nvm/versions/node/v8.5.0/bin:
添加到secure_path
變量中。
更多信息: sudo 更改路徑 - 為什么?
嘗試通過 Nodesource 再次安裝節點和 npm。 按着這些次序:
通過以具有 sudo 權限的用戶身份運行以下curl
命令來啟用 NodeSource 存儲庫:
curl -sL https://deb.nodesource.com/setup_12.x | 須藤 -E bash -
該命令會將 NodeSource 簽名密鑰添加到您的系統,創建一個 apt 源存儲庫文件,安裝所有必要的軟件包並刷新 apt 緩存。
如果您需要安裝其他版本,例如 14.x,只需將setup_12.x
更改為setup_14.x
啟用 NodeSource 存儲庫后,鍵入以下命令安裝 Node.js 和 npm:
sudo apt 安裝 nodejs
nodejs 包包含 node 和 npm 二進制文件。
通過打印它們的版本來驗證 Node.js 和 npm 是否已成功安裝:
node --version and npm --version
參考: https : //linuxize.com/post/how-to-install-node-js-on-ubuntu-18.04/
所以我遇到了確切的問題(我也是一個從零開始學習的學生),我使用的是 Ubuntu 21.04,並且在重新安裝 VSC 和更新 OhMyZSH 之后。 節點仍然存在,因為當我執行node -v
我能夠觀看當前版本,但是使用npm -v
它給出: zsh: command not found: npm
我正在檢查以前的答案並嘗試將粘貼“命令”復制到終端中: ~ sudo nano ~/.zshrc
,直到我開始將隱藏文件檢查到“Home”文件夾中,我才注意到 NODE 是在 LTS 版本中被“收費”,但 NPM 是最新版本,所以我只需將 PATH 更改為最后一個文件夾,現在它又可以工作了。 最終結果對我來說是這樣的: export PATH="$PATH:/home/myLaptopName/.nvm/versions/node/v17.0.1/bin"
所以我的建議是檢查你是否已經有 Node : node -v
to知道版本,你也可以用: whereis node
找到目錄路徑,然后開始制作一些目錄archaeology,直到找到npm文件。
我使用了以下命令並且在 ubuntu 中工作
export NVM_DIR=~/.nvm
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.