12

所以我正在研究学习node.js。我一直在按照本教程安装它并尝试一些东西。

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

npm ...(anything)

在命令行中,我的 shell 通知我没有找到 npm 命令。以前,使用 nvm 卸载然后重新安装 npm 是可行的,但我宁愿不要每十分钟这样做一次,而且它会突然停止工作,这对我来说非常奇怪。

我认为上次,它在我编辑并重新获取我的 ~/.zshrc 文件后停止工作——只是添加了 npm 和节点选项卡完成插件。

知道发生了什么吗?我将发布几个基本命令的结果,但我对系统管理员的东西真的很糟糕,而且我真的不知道在这里寻找什么。

非虚拟机 -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 工作时,我正在查找如何实现选项卡完成。

作为对延斯的回应

这是在我的 ~/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 目录进行 chmod 以使其成为读/写/可执行文件。

4

10 回答 10

8

1) 打开你的 zsh 配置文件

nano ~/.zshrc

2) 添加路径

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

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

4) 执行文件内容

source ~/.zshrc

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

于 2016-04-01T23:05:55.700 回答
6

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

正如npm 网站提到的:

npm 现在自带node

我想再次安装 Node.js,希望它能解决这些问题,它做到了:)

安装后完全成功。节点安装程序显示最后一条消息:

节点安装在

/usr/local/bin/node

npm 安装在

/usr/local/bin/npm

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

这就是我注意到我的$PATH安装目录和安装目录错误的地方。安装后我可以运行 node 和 npm。

希望能帮助到你...

于 2015-04-07T01:43:41.517 回答
2

我的 Mac 遇到了同样的问题,我做了以下操作:

  1. 卸载现有节点
  2. 去node网页下载包,然后安装
  3. 去,~/.zshrc路径通常是/usr/local/bin
  4. 从...中得到快乐npm
于 2016-11-03T09:57:55.280 回答
2

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

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

source ~/.bash_profile

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

干杯!

于 2016-10-26T17:51:03.383 回答
2

将此添加到我的 ./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

于 2020-04-17T16:23:07.937 回答
1

对于我和其他到达这里的谷歌人来说,问题是在 Ubuntu 上调用 sudo 时,secure_path正在使用不包括 NPM 的。

您可以禁用secure_Path,这似乎绝对不推荐。因此,我只是将节点 bin 附加到secure path,当通过 NVM 安装时,它对我来说看起来像这样

  • $: 须藤苏

  • $: 视觉

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

更多信息:sudo 更改 PATH - 为什么?

于 2017-09-15T10:33:34.360 回答
1
curl -L https://npmjs.org/install.sh | sh

我在全新的 Mac OS 安装上尝试过它,它可以工作!

于 2017-01-03T14:28:55.537 回答
1

所以我遇到了确切的问题(我也是一个从零开始学习的学生),我使用的是 Ubuntu 21.04,并且在重新安装 VSC 并更新 OhMyZSH 之后。节点仍然存在,因为当我这样做时,node -v我能够观看当前版本,但npm -v它给出了: zsh: command not found: npm

我正在检查以前的答案并尝试在将其写入终端时复制粘贴“命令”:~ sudo nano ~/.zshrc ,在我开始将隐藏文件检查到“主”文件夹之前,没有任何效果,并且我注意到节点在 LTS 中被“收费”版本,但 NPM 是最新版本,所以我只需将 PATH 更改为最后一个文件夹,现在它又可以工作了。最终结果对我来说是这样的: export PATH="$PATH:/home/myLaptopName/.nvm/versions/node/v17.0.1/bin" 所以我的建议是检查你是否已经有Node:node -v以了解版本,你也可以使用:找到目录路径,whereis node然后开始制作一些目录考古,直到找到npm文件。

于 2021-10-25T17:35:56.153 回答
0

我使用了以下命令,并且在 ubuntu 中有效

export NVM_DIR=~/.nvm
 [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
于 2021-08-27T13:16:17.037 回答
0

尝试通过 Nodesource 再次安装节点和 npm。按着这些次序:

  1. 通过以具有 sudo 权限的用户身份运行以下curl 命令来启用 NodeSource 存储库:

    curl -sL https://deb.nodesource.com/setup_12.x | 须藤 -E bash -

该命令会将 NodeSource 签名密钥添加到您的系统,创建一个 apt 源存储库文件,安装所有必要的软件包并刷新 apt 缓存。

如果您需要安装其他版本,例如 14.x,只需更改setup_12.xsetup_14.x

  1. 启用 NodeSource 存储库后,通过键入以下命令安装 Node.js 和 npm:

    sudo apt install 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/

于 2020-07-19T23:15:39.080 回答