LaunchDaemon未得到承认

我使用MacPorts安装了CouchDB。 目前我打算在我的Mac启动时启动它,所以我实现了安装过程中给出的指导:

sudo launchctl load -w /Library/LaunchDaemons/org.apache.couchdb.plist

尽管如此,这似乎没有起作用。 我查看了LaunchDaemons目录站点,并且plist文档也存在(作为符号链接):

lrwxr-xr-x  1 root  wheel   57 18 aug 10:11 org.apache.couchdb.plist -> /opt/local/Library/LaunchDaemons/org.apache.couchdb.plist

真正的plist文档的材料看起来没问题(尽管如此,我没有实际的专业知识,只需要看看):

<plist version="1.0">
  <dict>
    <key>Label</key>
    <string>org.apache.couchdb</string>
    <key>EnvironmentVariables</key>
    <dict>
      <key>HOME</key>
      <string>~</string>


    </dict>
    <key>ProgramArguments</key>
    <array>
      <string>/opt/local/bin/couchdb</string>
    </array>
    <key>UserName</key>
    <string>couchdb</string>
    <key>StandardOutPath</key>
    <string>/dev/null</string>
    <key>StandardErrorPath</key>
    <string>/dev/null</string>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
  </dict>
</plist>

当我手动执行/opt/local/bin/couchdb时,程序开发了,所以不用担心。 它只是看起来启动守护程序错过了这个命令。

关于如何修复此问题的任何想法?

0
2019-05-04 18:15:29
资源 分享
答案: 2

我并不是特别习惯CouchDB,但是我发现你的.plist文件存在许多可能的麻烦:首先,设置的HOME值是不寻常的 - 它需要是一个详细信息文件夹课程(即你放置了couchdb的任何地方)客户的居住文件夹),而不是~。 其次,我相信您还需要设置PATH设置变量,以便CouchDB可以找到您安装的各种其他可选程序。 要确保.plist的区域需要看起来像这样:

<key>EnvironmentVariables</key>
<dict>
    <key>HOME</key>
    <string>/usr/local/var/lib/couchdb</string>
    <key>PATH</key>
    <string>/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/opt/local/bin:/opt/local/sbin</string>
</dict>

(注意:上述值基于一点谷歌搜索 - 你可能需要将它们重新调整到你的CouchDB客户所在的位置和/或你的附加二进制文件夹所在的位置。)加载changed.plist文件,用法:

sudo launchctl unload /Library/LaunchDaemons/org.apache.couchdb.plist
sudo launchctl load /Library/LaunchDaemons/org.apache.couchdb.plist

如果这不能解决问题,那么有很多方面可以找到有关失败的更多细节:首先,查看系统日志(/ var / log / system.log),或者使用控制台能源或者命令行设备; 在尝试优化.plist文档或启动CouchDB时,它会遇到任何类型的错误。 其次,遵循Mark关于将StandardOutPath和StandardErrorPath转换为实际文档的指针,并考虑那里的程序。 如果每个小东西都有效地设置,这不是必需的,但是当出现问题时找出错误的东西非常有价值(并且在实际解决了问题之后你也可以将它们改回/ dev / null)。

0
2019-05-09 05:20:35
资源

尝试以下( 单行命令 ):

sudo chown -R couchdb:couchdb /opt/local/var/lib/couchdb/ /opt/local/var/log/couchdb/ /opt/local/etc/couchdb/ /opt/local/var/run/couchdb

然后重启。

如果它不起作用,你有什么变体的MacPorts和CouchDB?

0
2019-05-09 01:43:00
资源