更新:
建议的链接是这个问题的解决方案。在Mac上你必须制作符号链接:
sudo ln -s /usr/local/bin/node /usr/bin/node
我想在启动mac mini时自动执行某些过程。 该脚本应该启动一些node.js脚本(永远)。脚本本身是由launchd进程触发的。我有几个这样的脚本。但那个我有一个问题:
#!/bin/bash
export PATH=/usr/local/bin
export NODE_ENV=production
cd /Volumes/Services/Proxy
forever -a start /Volumes/Services/Proxy/app.js
如果在终端中执行,此脚本可以正常工作。它使它做的事情。 但是这个脚本在启动时启动时会在std.err上抛出错误。
env: node: no such file or directory
首先我认为这是一个问题,因为在启动时不知道“永远”的PATH所以我明确地添加了导出PATH。 当我给出“永远”的绝对路径时,它会抛出相同的错误:
#!/bin/bash
export NODE_ENV=production
cd /Volumes/Services/Proxy
/usr/local/bin/forever -a start /Volumes/Services/Proxy/app.js
launch.plist文件中没有错误。如果我将其他内容添加到此脚本中,例如mkdir FOO,则可以毫无问题地执行此操作。
...我对shell脚本没有那么坚定...... :(
任何人都知道我做错了什么?