zshrc“命令未找到:npm”

时间:2013-04-03 02:03:49

标签: bash node.js npm zsh

所以我正在研究学习node.js.我一直关注this tutorial来安装它并尝试一些东西。

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

npm ...(anything)

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

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

知道发生了什么事吗?我将发布几个基本命令的结果,但我对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,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

编辑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工作时回来,查找如何实现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

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

8 个答案:

答案 0 :(得分:4)

我遇到的问题是Node和npm都没有。我花了大约6个小时在线搜索解决方案,但没有运气。

npm website所述:

  

npm现在提供node

我想再次安装Node.js,希望能解决这些问题,并且确实如此:)

安装完成后。节点安装程序显示此最终消息:

  

节点安装在

     

/usr/local/bin/node

     

npm安装在

     

/usr/local/bin/npm

     

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

这就是我注意到我的$PATH和安装目录错误的地方。安装完成后,我就开始运行node和npm。

希望它有所帮助...

答案 1 :(得分:1)

将其添加到我的./zshrc文件中对ubuntu 19.10有所帮助:

导出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

答案 2 :(得分:0)

对于我和其他googlers到达这里,问题是当在Ubuntu上调用sudo时,正在使用secure_path,其中不包括NPM。

你可以禁用secure_Path,这似乎不建议使用。所以我只是将节点bin添加到secure path,当通过NVM安装时,它看起来像我这样

  • $:sudo su

  • $:visudo

然后将/home/YourUsername/.nvm/versions/node/v8.5.0/bin:添加到secure_path变量中。

更多信息:sudo changes PATH - why?

答案 3 :(得分:0)

尝试通过Nodesource重新安装节点并再次安装npm。 请按照下列步骤操作:

  1. 通过运行以下curl启用NodeSource存储库 以具有sudo特权的用户命令

    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软件包同时包含节点和npm二进制文件。

通过打印它们的版本来验证Node.js和npm是否已成功安装:

node --version and npm --version

参考:https://linuxize.com/post/how-to-install-node-js-on-ubuntu-18.04/

答案 4 :(得分:-1)

1)打开zsh配置文件

nano ~/.zshrc

2)添加路径

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

3)按CTRL + X然后按Y

保存文件

4)执行文件

的内容
source ~/.zshrc

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

答案 5 :(得分:-1)

老实说,不确定这是否会解决你正在/正在解决的问题,但我正在经历你的详细内容 - 在哪里npm工作,但随后只是完全停止工作 - 我试了一下人们在这里建议没有运气的事情。

最终为我做的伎俩,就像听起来那样简单/愚蠢,是:

source ~/.bash_profile

我希望我能更好地解释为什么那是神奇的子弹,但至少它有效!

干杯!

答案 6 :(得分:-1)

我的Mac遇到了同样的问题,我做了以下事情:

  1. 卸载现有节点
  2. 转到节点网页并下载软件包,然后安装
  3. 转到RR,路径通常为~/.zshrc
  4. /usr/local/bin
  5. 玩得开心

答案 7 :(得分:-1)

curl -L https://npmjs.org/install.sh | sh

我在新的CentOS 7安装上尝试过它,它可以工作!