无法在linux(ec2)中启动pm2 | -bash:pm2:找不到命令

问题描述 投票:0回答:1

我已经使用以下命令安装了 pm2(在 root 中):

npm install pm2@latest -g

检查 pm2 的版本或初始化实例时,出现以下错误

-bash: pm2: command not found

有什么办法可以解决这个问题吗?

linux amazon-ec2 npm-install pm2
1个回答
0
投票

尝试检查 /usr/bin/pm2 是否存在。

ls -l /usr/bin/pm2

尝试检查 npm -g 安装的位置。

npm prefix -g
npm prefix

尝试检查您的 $PATH 是什么。

echo $PATH

(1) 对于 ls -l /usr/bin/pm2 我收到“ls: 无法访问 '/usr/bin/pm2': 没有这样的文件或目录” (2) 对于“npm prefix -g”,我是获取“/root/.npm-global”(3)对于“npm 前缀”,我得到“/root”(4)对于“echo $PATH”,我得到“/root/.nvm/versions/node/ v18.18.0/bin:/root/.local/bin:/root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin”。我该怎么解决问题?您能更新一下如何解决问题的答案吗,谢谢。

看起来问题是你的 npm 配置为安装到 /root/.npm-global 中,但该目录不在 $PATH 中。

你是如何安装nodejs的?

我猜有人试图按照这里的食谱进行操作:https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally但他们没有完成它? ??

您有四种选择:

  1. 将 /root/.npm-global 添加到 $PATH。例如,将像

    PATH=$HOME/.npm-global:$PATH
    这样的行添加到 /root/.profile 或 /root/.bash_profile 或 /root/.bashrc 中。应该会在下次登录时生效。

  2. 使用其完整路径显式运行 pm2

    /root/.npm-global/bin/pm2
    ,而不仅仅是
    pm2

  3. 删除告诉它使用 /root/.npm-global 的 npm 配置。它应该像平常一样返回到安装到 /usr/bin 。某处可能有一个 npmrc 文件(可能是 /root/.npmrc 或 /etc/npmrc)(documentation),其中包含此配置值。如果您因其他原因不需要此值,请编辑该文件并删除该行。如果它是唯一的一行,您可以删除整个文件。但我不明白为什么要这样配置,是否有充分的理由。

  4. 对于一次性解决方法,您可以尝试

    npm install -g pm2 --prefix /usr
    。当然,您必须记住下次安装其他软件包时需要这样做。

© www.soinside.com 2019 - 2024. All rights reserved.