我已经使用here
概述的方法设置了npm的默认目录~/.profile
包含以下内容:
工作正常。
但是,当我注销并重新登录并检查 pm2 版本时,我遇到了以下错误:
是什么原因导致这个问题?
以下命令的输出如下:
npm prefix -g
是 /home/ec2-user/.npm-global
npm prefix
是 /home/ec2-user
echo $PATH
是 /home/ec2-user/.npm-global/bin:/home/ec2-user/.nvm/versions/node/v18.18.0/bin:/home/ec2-user/.local/bin:/home/ec2-user/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin
这个问题让我抓狂。我无法在网上找到任何有助于解决此问题的资源。解决方案将受到高度赞赏。
此外,我还注意到不喜欢 StackOverflow 帖子的人有所增加。如果您决定不喜欢这篇文章,请考虑写下原因评论,以便可以改进这个问题以帮助未来的读者。否则,我们会认为您没有阅读问题,而是在发送垃圾邮件/恶搞。
再次见到你真是太巧了。我认为我对你的上一个问题的回答不起作用......:(
最好评论或编辑最后一个问题,但是哦,好吧。
我仍然猜测该问题是由多次部分尝试安装nodejs引起的,这些尝试现在正在互相争斗。
屏幕截图中的错误消息(您用户的 .npmrc 文件...)特别具有启发性。
让我们从头开始,尝试挽回混乱。最简单的方法是创建一台新的 EC2 机器,但要清理现有机器,我会尝试这样做:
ls -la /root/
.node
、.npm
、.npm-global
、.npmrc
、.nvm
.profile
在开始之前不存在,请将其删除——这显然没有帮助(bash 文件优先级的解释)ls -la /etc/skel/
node
、npm
、nvm
、pm2
- 所有这些都应该显示文件未找到grep -r npm-global /root /etc
搜索任何剩余的 npm-global 提及(应该没有)现在再次安装node.js。有多种方法可以做到这一点(“nvm”就是其中之一)。我对EC2不是特别熟悉,但是我发现Amazon有这个官方教程,推荐nvm:
重新登录。
有了这个,您在登录时不应该看到任何有关“与 nvm 不兼容”的错误,并且您不需要遵循 https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing -全局包 .
然后您可以例如
npm install -g pm2
通常情况下,运气好的话,应该可以正常工作。