使用 AppleScript 运行 JavaScript(使用 Node.js)?

问题描述 投票:0回答:1

在MacOS中,我从以下链接安装了

Node.js
http://nodejs.org/download/http://nodejs.org/dist/v0.10.29/node-v0.10.29.pkg) ).

我在 AppleScript 中使用以下代码:

do shell script "supervisor \"/Applications/xyz.js\""

但是出现以下错误:

错误“sh:主管:找不到命令”编号 127

通过终端运行时效果很好:

主管/Applications/xyz.js

javascript node.js macos applescript
1个回答
4
投票

听起来你的路径环境变量设置不同,因此在 Applescript 中它无法找到该应用程序。

例如在 applescript 中......

do shell script "echo $PATH"

退货

"/usr/bin:/bin:/usr/sbin:/sbin"

但是在航站楼...

$ echo $PATH
/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

所以我只需在 applescript 中添加可执行文件的完整路径,这应该可以解决问题...

do shell script "/path/to/app/supervisor ...."


这是官方解释...

问题是您告诉的应用程序决定了 shell 脚本的环境 - 工作目录、环境变量等。大多数应用程序具有相同的环境,但依赖于此存在维护风险。如果您的 AppleScript 在 osascript 中运行,则工作环境来自运行 osascript 的 shell,它与任何其他应用程序完全分开。

您可以在这里阅读更多相关信息

https://developer.apple.com/library/mac/technotes/tn2065/_index.html

© www.soinside.com 2019 - 2024. All rights reserved.