请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

bash: pm2: command not found

https://img1.sycdn.imooc.com/szimg//59885f0b0001e02224801006.jpg

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

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

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

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

正在回答

7回答

这么鬼...


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


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


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

1 回复 有任何疑惑可以回复我~
  • 提问者 LB0 #1
    我大scott v587  真的解决了 详情如下:
    
    接上面pm2找不到的锅
    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  我的天 居然好了!
    回复 有任何疑惑可以回复我~ 2017-08-07 22:26:55
  • 提问者 LB0 #2
    我大Scott V587
    回复 有任何疑惑可以回复我~ 2017-08-07 22:30:47
慕姐9753795 2017-11-29 16:51:44

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


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


1 回复 有任何疑惑可以回复我~
  • 加上好了
    回复 有任何疑惑可以回复我~ 2018-09-10 16:09:26
  • Admin@DESKTOP-TUDOU01 MINGW64 /d/Users/Administrator/WebstormProjects/ice (master)
    $ pm2 deploy ecosystem.json production setup
    --> Deploying to production environment
    --> on host 49.235.68.139
      ○ hook pre-setup
      ○ running setup
      ○ cloning https://gitee.com/wangyanjun0608_admin/ice.git
      ○ full fetch
    Cloning into '/www/wwwroot/ice/production/source'...
      ○ hook post-setup
      ○ setup complete
    --> Success
    
    Admin@DESKTOP-TUDOU01 MINGW64 /d/Users/Administrator/WebstormProjects/ice (master)
    $ pm2 deploy ecosystem.json production
    --> Deploying to production environment
    --> on host 49.235.68.139
    
      ○ deploying origin/master
      ○ executing pre-deploy-local
    Deploy Done!
      ○ hook pre-deploy
      ○ fetching updates
      ○ full fetch
    Fetching origin
      ○ resetting HEAD to origin/master
    HEAD is now at 6fe1ce4 To delete an Ecosystem file.
      ○ executing post-deploy `export NODE_ENV=production && source ~/.nvm/nvm.sh && pm2 startOrRestart ecosystem.json --env production`
    [PM2][WARN] Applications Ice not running, starting...
    [PM2][ERROR] Error: No script path - aborting
    
      post-deploy hook failed
    
    Deploy failed
    Deploy failed with exit code: 1
    回复 有任何疑惑可以回复我~ 2021-11-08 11:52:52
  • 看看我这是啥问题。
    回复 有任何疑惑可以回复我~ 2021-11-08 11:53:22
提问者 LB0 2017-08-07 22:28:47

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

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 我的天 居然好了!
https://img1.sycdn.imooc.com/szimg//5988791a00013e1d17640534.jpg

1 回复 有任何疑惑可以回复我~
慕工程0472918 2019-05-08 02:41:57

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

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

# If not running interactively, don't do anything

#case $- in

#   *i*) ;;

#      *) return;;

#esac

0 回复 有任何疑惑可以回复我~
丶业精于勤 2018-01-21 17:50:10

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

0 回复 有任何疑惑可以回复我~
提问者 LB0 2017-08-07 23:26:21

感觉这个锅是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 回复 有任何疑惑可以回复我~
提问者 LB0 2017-08-07 20:45:56

//补一个 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 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信