bash: pm2: command not found

来源:1-11 配置 PM2 一键部署发布项目

LB0

2017-08-07

http://szimg.mukewang.com/59885f0b0001e02224801006.jpg

如图:setup成功,部署失败,提示bash: pm2: command not found
尝试过 重新安装 npm i -g pm2  和 ~/.bashrc 中指定路径 仍然无法找到pm2 

但是实际进入指定路径后发现pm2 -v 有效!

ubuntu:16.04 (没办法便宜的服务器只有16.04可选 不然就是windows了)

求我大scott 有空看看是什么毒....

写回答

7回答

Scott

2017-08-07

这么鬼...


.bashrc 里面指定后,有 source ~/.bashrc 么


如果还不行,sudo npm uninstall pm2 -g 先卸载掉后,在服务器上不加 root 安装下试试


如果还不行,再试试这个办法:https://github.com/Unitech/pm2/issues/1112

1
2
LB0
我大Scott V587
2017-08-07
共2条回复

慕姐9753795

2017-11-29

我也出现这个问题,感觉pm2登录主机的时候不会 source ~/.bashrc,手动加上也没有,改成这样了


"post-deploy" : "source ~/.nvm/nvm.sh && pm2 startOrRestart ecosystem.json --env production",


1
3
慕丝Jack
看看我这是啥问题。
2021-11-08
共3条回复

LB0

提问者

2017-08-07

楼中楼好乱 这里重新回复下

1、先用 whereis pm2 定位到pm2 绝对路径
如:/root/.nvm/versions/node/v8.2.1/bin/pm2
然后将截取成 ~/.nvm/versions/node/v8.2.1/bin
添加到 vim /etc/environment 文件的末尾,
前面记得加上 :隔开 ,
然后运行 source /etc/environment

2、现在运行 pm2 deploy ecosystem.json production
我报了一个找不到node的错,/usr/bin/env: ‘node’: No such file or directory ;
只需要运行 ln -s /usr/bin/nodejs /usr/bin/node 就ok了。

3、再次运行pm2 deploy ecosystem.json production 我的天 居然好了!
//szimg.mukewang.com/5988791a00013e1d17640534.jpg

1
0

慕工程0472918

2019-05-08

同样的问题,stackoverflow上有兄弟提出这样的解决方法,我这解决了。

修改配置文件.bashrc,sudo vi ~/.bashrc,把下面这堆东西注掉。

# If not running interactively, don't do anything

#case $- in

#   *i*) ;;

#      *) return;;

#esac

0
0

丶业精于勤

2018-01-21

厉害了,按照你的方法 跑通了  谢谢!

0
0

LB0

提问者

2017-08-07

感觉这个锅是nvm出的,这个是第二种解决方法,在修复之前whereis node、nvm、npm、pm2 全部指向 .nvm 里面的位置,然后指令加sudo的指令都失效,sudo node -v也会提示找不到对象,

我尝试将nvm删除  

rm -rf ~/.nvm 

rm -rf ~/.npm 

rm -rf ~/.brew

然后apt install nodejs   这个安装出来是老的 大概4.5左右的版本

然后apt install npm  

然后安装npm install n   换成了n

再然后安装 n latest

运行node -v  返回8.2.1

npm install -g pm2 

查看所有npm node pm2 的位置 返回 /usr/bin/xxx 或者 /usr/local/bin/  这样的绝对路径

然后我删除了之前手动添加的pm2 和 nvm环境变量

随便修改了项目中东西,上传github 重新运行 pm2 deploy ecosystem.json production

一次成功 very nice

0
0

LB0

提问者

2017-08-07

//补一个 ecosystem.js 配置  
{
 "apps":[
   {
   "name":"winter",
   "script":"server.js",
   //    "instances":2,
   "env":{
     "COMMON_VARIABLE": "true"
   },
   "env_production":{
     "NODE_ENV": "production"
   }
 }],
 "deploy":{
   "production":{
     "user":"root",
     "host": "106.15.88.8",
     "ref":"origin/master",
     "repo":"git@github.com:coffeeTeaMe/winter.git",
     "path":"/var/www/winter/production",
     "ssh_options":"StrictHostKeyChecking=no",
     //"post-deploy": "pm2 startOrRestart ecosystem.json --env production",
     "pre-deploy-local": "echo 'deploy done!'",
     "env": {
       "NODE_ENV": "production"
     }
   }
 }
}

0
0

开发微信全家桶项目Vue/Node/MongoDB高级技术栈全覆盖

Nuxt/Vue SSR + Koa2 跨栈开发微信公众号+小程序

989 学习 · 401 问题

查看课程