MAC OS - Node.js (NPM) - Установка через AppleScript с правами администратора
Когда я запускаю следующие команды одну за другой в Терминале, он работает и устанавливает,
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 установить навсегда
В терминале без запроса пароля в окне терминала. Как это сделать?
1 ответ
https://developer.apple.com/library/mac/technotes/tn2065/_index.html
Скрипты оболочки по умолчанию не экспортируют ваш путь в них с помощью скрипта apple. Кроме того, они запускаются в оболочке вместо стандартной оболочки терминала (скорее всего, 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
содержит как node
а также npm
, Это должно позволить вам успешно установить без запроса.