zshrc"命令未找到:npm"

Sas*_*sha 5 bash zsh node.js npm

所以我正在研究学习node.js. 我一直在关注这个教程来安装它并尝试一些东西.

无论如何,npm表现得非常奇怪.它会在一段时间内正常工作(例如我改变了它的查看器配置设置),然后突然"消失",以便下次进入

npm ...(anything)
Run Code Online (Sandbox Code Playgroud)

在命令行中,我的shell通知我没有找到npm命令.以前,使用nvm卸载然后重新安装npm已经有效了,但是我不想每隔十分钟就这样做,而且我突然停止工作对我来说非常奇怪.

我想最后一次,它在我编辑然后重新获取我的〜/ .zshrc文件后停止工作 - 只是添加了npm和节点制表符完成插件.

知道发生了什么事吗?我会发布几个基本命令的结果,但我对sysadmin的东西真的很糟糕,我真的不知道在这里要找什么.

nvm -ls

   v0.8.22
current:    v0.10.2
default -> 0.8 (-> v0.8.22)
Run Code Online (Sandbox Code Playgroud)

哪个节点

/usr/bin/node
Run Code Online (Sandbox Code Playgroud)

哪个npm

npm not found
Run Code Online (Sandbox Code Playgroud)

nvm(这是一个重复的吗?)和npm目录直接在我的根文件夹中.

如果我进入/ usr/bin,则node是文件,而不是目录.还有一个文件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
Run Code Online (Sandbox Code Playgroud)

编辑2 - 我确保节点路径已添加到我的zshrc文件中:

#other stuff...
export PATH=(...):/usr/bin/node
Run Code Online (Sandbox Code Playgroud)

但是当我试着跑的时候

source ~./zshrc
Run Code Online (Sandbox Code Playgroud)

我收到了这个投诉:

.zshrc:11: command not found: npm
Run Code Online (Sandbox Code Playgroud)

指向这些行(添加数字):

10 . ~/nvm/nvm.sh
11 . <(npm completion)
Run Code Online (Sandbox Code Playgroud)

我从上面的tut得到了,当npm工作时,回来查看如何实现tab完成.

回应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
Run Code Online (Sandbox Code Playgroud)

我尝试(并且我认为成功)chmod npm目录使其成为读/写/可执行文件.

zar*_*pio 8

1)打开你的zsh配置文件

nano ~/.zshrc
Run Code Online (Sandbox Code Playgroud)

2) 添加路径

export PATH="$PATH:/usr/local/share/npm/bin"
Run Code Online (Sandbox Code Playgroud)

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

4) 执行文件内容

source ~/.zshrc
Run Code Online (Sandbox Code Playgroud)

这个简单的过程对我有用:-)


tkl*_*ves 7

老实说,不确定这是否会解决您正在遇到的问题,但我所经历的与您所详细描述的几乎完全一样 - npm 正在工作,但随后随机完全停止工作 - 我尝试了很多相同的方法人们在这里建议的东西没有运气。

最终为我解决这个问题的方法是:

source ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)

我希望我能更好地解释为什么这是灵丹妙药,但至少它有效!

干杯!


egy*_*ado 5

我遇到了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。

希望能帮助到你...