找不到npm命令pm2:找不到命令

时间:2019-05-20 08:54:16

标签: pm2 nvm

在Ubuntu19.04下安装了NVM节点,但是本地pm2部署生产更新将报告错误,例如pm2:找不到命令

在远程服务器上

  root@vultr:/usr/bin# git --version
  git version 2.20.1
  root@vultr:/usr/bin# nvm --version
  0.34.0
  root@vultr:/usr/bin# node -v
  v10.15.3
  root@vultr:/usr/bin# npm -v
  6.4.1

在本地服务器上

  pm2 deploy production update
--> Deploying to production environment
--> on host 202.182.98.13
  ○ deploying origin/master
  ○ executing pre-deploy-local
  ○ hook pre-deploy
  ○ fast forward master
Already on 'master'
Your branch is up to date with 'origin/master'.
From github.com:zq0904/pm2
Updating d79b633..2fe1d22
Fast-forward
 README.md           | 3 ++-
 ecosystem.config.js | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)
 * branch            master     -> FETCH_HEAD
   d79b633..2fe1d22  master     -> origin/master
  ○ executing post-deploy `git pull && npm install && pm2 reload ecosystem.config.js --env production`
Already up to date.
npm WARN 06-pm2@1.0.0 No repository field.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

up to date in 3.997s
pm2: command not found

  post-deploy hook failed

Deploy failed
1

我可以在远程服务器上完成

whereis npm
  lh -s /root/.nvm/versions/node/v10.15.3/bin/node /usr/bin/node
  lh -s /root/.nvm/versions/node/v10.15.3/bin/npm /usr/bin/npm
  lh -s /root/.nvm/versions/node/v10.15.3/bin/pm2 /usr/bin/pm2

那可以解决问题, 但是我不明白为什么, 服务器已经可以输出NPM节点pm2和其他版本, 但是为什么我必须建立一个软连接? 这个麻烦的问题有什么好的解决办法, 非常感谢!!

1 个答案:

答案 0 :(得分:1)

我不确定此问题的起因是什么。但是,当我在 AWS EC2 ubuntu 实例中创建一个新用户并尝试通过 pm2 部署我的 NodeJS 应用时,这发生在我身上新用户。

我关注了this github threadthis particular comment解决了我的问题。只需在服务器的.bashrc文件中注释以下行

#If not running interactively, don 't do anything
case $ - in
*
i * );;
*) return;;
esac