MAC OS - Node.js(NPM) - 通过带有管理员权限的AppleScript安装

时间:2014-07-01 22:19:43

标签: node.js macos applescript npm node-supervisor

当我在终端中逐个运行以下命令时,它可以正常工作并安装

  

sudo npm install supervisor


  

sudo npm install forever

它在终端窗口中要求输入管理员密码并安装正常。

在AppleScript中,我将其作为

运行
tell application "Terminal"
    do script "sudo npm install supervisor" in window 1
end tell
tell application "Terminal"
    do script "sudo npm install forever --global" in window 1
end tell

它打开终端并询问密码并等待用户响应输入密码以继续。我尝试了以下AppleScript,

do shell script "sudo npm install supervisor" with administrator privileges
do shell script "sudo npm install forever --global" with administrator privileges

并收到以下错误,

  

错误" sudo:npm:命令未找到" 1号

AppleScript需要在公共区域输入一次密码,输入用户名和密码对话框并运行,

  

sudo npm install supervisor


  

sudo npm install forever

在终端窗口中没有要求密码的终端。怎么做?

1 个答案:

答案 0 :(得分:1)

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

默认情况下,Shell脚本不会使用apple脚本将您的路径导出到它们中。另外,它们是在shell中运行而不是默认的Terminal shell(很可能是bash)。在尝试运行Apple脚本时,您应该包含npm/usr/local/bin/npm为我的完整路径;使用which npm)而不仅仅是npm

但是,当您指定npm的完整路径时,会遇到另一个问题。 npm无法在路径中找到node。我发现工作的解决方案是在苹果脚本中导出PATH

export PATH=$PATH:/usr/local/bin; sudo npm install forever

仔细检查/usr/local/bin是否包含nodenpm。这应该允许您成功安装而不会被提示。