操作系统升级后,无法在OSX El Capitan上启动NodeJS应用程序(Appium)

时间:2015-11-18 15:07:39

标签: .net node.js macos ssh

所以我有一段.Net代码可以触发Appium,这是一个在Mac OS上运行的NodeJS应用程序。它曾经在Yosemite上工作,但在XCode和El Capitan更新后停止工作。我正在尝试运行以下命令作为代码的一部分:

ssh.RunCommand("/usr/local/bin/forever start /Applications/Appium.app/Contents/Resources/node_modules/appium/bin/appium.js --address 0.0.0.0 --port 4723 --log-level debug --device-name \"iPhone 6\" --platform-name iOS --platform-version \"8.4\" --app \"/Applications/my.app\" --browser-name iOS -l --log /Library/Logs/Appium/current.log");

我在Visual Studio中获得“env:node:No such file or directory”

System Policy: deny file-write-data /usr/bin/env

在system.log上 我猜OS X不允许我再次访问/ usr / bin / env,有没有办法绕过它? 干杯!

1 个答案:

答案 0 :(得分:0)

这确实是由El Capitan的系统完整性保护(SIP)造成的,但另一个答案是错误的,因为他们声称/usr/local仍然可写或者您可以重新获得永久访问权限

每次安装新程序时,这都会导致homebrew安装完全混淆,我每周至少需要chown -R username /usr/local次。 SIP有一些不同的命令行参数,可以完全禁用它(我肯定会考虑这样做),或者只禁用它的一部分。

请注意,禁用/启用/修改系统完整性保护必须在单用户模式下完成,方法是通过按住Cmd+R重启进入恢复模式,然后启动根终端并执行{{1} }命令,它接受多个参数,即csrutildisable,但也包含仅部分禁用特定事物的SIP的参数(enable对话框中根本没有说明)。您还需要重新启动才能使设置生效。