簡體   English   中英

zshrc“找不到命令:npm”

[英]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 目錄以使其可讀/寫/可執行。

1)打開你的zsh配置文件

nano ~/.zshrc

2) 添加路徑

export PATH="$PATH:/usr/local/share/npm/bin"

3) 按 CTRL + X 然后按 Y 保存文件

4) 執行文件內容

source ~/.zshrc

這個簡單的過程對我有用:-)

我遇到了 Node 和 npm 都不工作的問題。 我花了大約 6 個小時在網上尋找解決方案,但沒有運氣。

正如npm 網站提到的:

npm 現在帶有節點

我想再次安裝 Node.js,希望它能解決這些問題,它確實做到了 :)

安裝完全成功后。 節點安裝程序顯示此最終消息:

節點安裝在

/usr/local/bin/node

npm 安裝在

/usr/local/bin/npm

確保/usr/local/bin is in your $PATH

這就是我注意到我的$PATH和安裝目錄錯誤的地方。 安裝后,我可以運行 node 和 npm。

希望能幫助到你...

我的 Mac 遇到了同樣的問題,我做了以下操作:

  1. 卸載現有節點
  2. 去節點網頁下載包,然后安裝
  3. 轉到~/.zshrc路徑通常是/usr/local/bin
  4. 玩得開心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。 按着這些次序:

  1. 通過以具有 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

  1. 啟用 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM