macOS Catalina上的PM2启动

macOS Catalina上的PM2启动,macos,pm2,Macos,Pm2,我正试图在Mac OS上将pm2设置为自动启动,就像这样pm2启动 然而,我不断地得到这个错误: env:Fusion.app/Contents/Public:/usr/local/bin:没有这样的文件或目录 我尝试了这个页面上的建议:但是即使使用这个命令,我仍然会得到相同的错误:pm2启动达尔文 如何让pm2在Mac OS Catalina上自动启动 谢谢 当您运行pm2启动命令时,它建议您使用PATH变量。似乎此变量包含导致此错误的空格。试着去掉Fusion.app的一部分。根据zored

我正试图在Mac OS上将pm2设置为自动启动,就像这样
pm2启动

然而,我不断地得到这个错误:
env:Fusion.app/Contents/Public:/usr/local/bin:没有这样的文件或目录

我尝试了这个页面上的建议:但是即使使用这个命令,我仍然会得到相同的错误:
pm2启动达尔文

如何让pm2在Mac OS Catalina上自动启动


谢谢

当您运行
pm2启动
命令时,它建议您使用
PATH
变量。似乎此变量包含导致此错误的空格。试着去掉
Fusion.app
的一部分。

根据zored的回答,可能发生的情况是pm2没有生成正确的脚本,因为您的
PATH
变量包含空格(在您的情况下很可能是“VMWare Fusion”)

运行
echo$PATH
,通过使用反斜杠(\)转义空格字符来清除它,然后在pm2生成的启动脚本中手动粘贴生成的
PATH
变量

因此,基本上不用像这样运行生成的pm2脚本:

sudo env PATH=$PATH:/usr/local/bin /usr/local/lib/node_modules/pm2/bin/pm2 startup launchd -u <user> --hp <user_folder>
sudo env PATH=<your `echo $PATH` output with escaped spaces>:/usr/local/bin /usr/local/lib/node_modules/pm2/bin/pm2 startup launchd -u <user> --hp <user_folder>
sudo env PATH=$PATH:/usr/local/bin/usr/local/lib/node_模块/pm2/bin/pm2启动启动-u--hp
像这样运行:

sudo env PATH=$PATH:/usr/local/bin /usr/local/lib/node_modules/pm2/bin/pm2 startup launchd -u <user> --hp <user_folder>
sudo env PATH=<your `echo $PATH` output with escaped spaces>:/usr/local/bin /usr/local/lib/node_modules/pm2/bin/pm2 startup launchd -u <user> --hp <user_folder>
sudo env PATH=:/usr/local/bin/usr/local/lib/node_模块/pm2/bin/pm2启动启动-u--hp

如果您想知道VMWare path参数设置在哪里(并且可以永久更改):

/etc/path.d/com.vmware.fusion.public


当我运行pm2启动时,这个文件的内容被添加到路径环境中

,它给我这个命令粘贴到终端
sudo env PATH=$PATH:/usr/local/bin/usr/local/lib/node_modules/pm2/bin/pm2启动启动-u username--hp/Users/usernamev
当运行这个文件时,我得到了上面提到的问题,我不知道查看需要从何处删除
Fusion.app
part只要运行
echo$PATH
,您就会在那里看到它。似乎
pm2
无法处理现有的PATH变量。只需粘贴固定路径,而不是
$PATH