所以我正在研究学习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目录使其成为读/写/可执行文件。
答案 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安装时,它看起来像我这样
然后将/home/YourUsername/.nvm/versions/node/v8.5.0/bin:
添加到secure_path
变量中。
答案 3 :(得分:0)
尝试通过Nodesource重新安装节点并再次安装npm。 请按照下列步骤操作:
通过运行以下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
启用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)
nano ~/.zshrc
export PATH="$PATH:/usr/local/share/npm/bin"
source ~/.zshrc
这个简单的过程对我有用: - )
答案 5 :(得分:-1)
老实说,不确定这是否会解决你正在/正在解决的问题,但我正在经历你的详细内容 - 在哪里npm工作,但随后只是完全停止工作 - 我试了一下人们在这里建议没有运气的事情。
最终为我做的伎俩,就像听起来那样简单/愚蠢,是:
source ~/.bash_profile
我希望我能更好地解释为什么那是神奇的子弹,但至少它有效!
干杯!
答案 6 :(得分:-1)
我的Mac遇到了同样的问题,我做了以下事情:
RR
,路径通常为~/.zshrc
/usr/local/bin
答案 7 :(得分:-1)
curl -L https://npmjs.org/install.sh | sh
我在新的CentOS 7安装上尝试过它,它可以工作!