【问题标题】:MAC OS - Node.js (NPM) - Installing via AppleScript with Admin RightsMAC OS - Node.js (NPM) - 通过具有管理员权限的 AppleScript 安装
【发布时间】:2014-07-01 22:19:43
【问题描述】:

当我在终端中一一运行以下命令时,它会运行并安装,

sudo npm 安装主管


sudo npm 永远安装

它会在终端窗口中询问管理员密码并正常安装。

在 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 安装主管


sudo npm 永远安装

在终端中无需在终端窗口中输入密码。怎么做?

【问题讨论】:

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


    【解决方案1】:

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

    默认情况下,Shell 脚本不会使用 Apple 脚本将路径导出到其中。此外,它们在 shell 中运行,而不是在您的默认终端 shell(很可能是 bash)中运行。在尝试运行苹果脚本时,您应该包含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。这应该可以让您在没有提示的情况下成功安装。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多