Gradle: "Произошла ошибка при запуске процесса 'команда 'npm''" на Mac
У меня MacOS с установленным IntelliJ Idea. Я использую Gradle (gradle-2.4) для сборки проекта. NodeJS и NPM установлены на Mac и доступны из командной строки.
MacBook:~ user$ node -v
v4.2.2
MacBook:~ user$ npm -v
2.14.7
При выполнении задачи Gradle, которая использует NODE/NPM, происходит сбой с следующей ошибкой (в данном примере это NPM).
* Что пошло не так:
Ошибка выполнения задачи ':module:task'.
> Проблема при запуске процесса 'команда 'npm''
Стека ошибки от Gradle выглядит следующим образом.
Исключение:
org.gradle.api.tasks.TaskExecutionException: Ошибка выполнения задачи ':module:task'.
...
Caused by: java.io.IOException: Не удается запустить программу "npm" (в каталоге "/<путь к проекту>"): ошибка=2, Нет такого файла или директории
...
Похоже, что Gradle пытается найти NPM в абсолютном каталоге проекта и не использует переменную окружения PATH на Mac. Кто-нибудь знает, как это избежать или обойти? Я не могу использовать абсолютный путь для NODE/NPM, так как команда распределена и использует разные ОС (Linux, MacOS). Есть идеи? 😃
5 ответ(ов)
Вы можете остановить демон Gradle, выполнив следующую команду:
$ ./gradlew --stop
После этого перезапустите команду Gradle, чтобы попытаться решить возникшую проблему. Убедитесь, что у вас нет зависших процессов, которые могут мешать нормальной работе. Если проблема остается, проверьте логи на наличие дополнительных подсказок.
У меня была похожая проблема, и в моем случае причина заключалась в том, что при запуске из IntelliJ Gradle не мог получить доступ к пути, чтобы определить, где находятся node и npm. Я использовал плагин gradle-gulp-plugin, и включение автоматической загрузки node решило проблему.
buildscript {
repositories {
mavenCentral()
jcenter()
}
dependencies {
classpath('be.filipblondeel.gradle:gradle-gulp-plugin:0.1')
}
}
node {
// Версия node, которую нужно использовать.
version = '0.12.0'
// Включена автоматическая загрузка.
download = true
}
Попробуйте добавить этот код в ваш build.gradle
, и это должно помочь решить вашу проблему.
У меня была такая же проблема, и я смог её решить, выполнив команду:
gradle --stop
Может быть полезно для кого-то:
В моем случае проблема заключалась в том, что у меня было запущено Android Studio. Мне нужно было сначала его закрыть, и тогда всё снова заработало нормально.
Возможно, это будет полезно:
sudo launchctl config user path $PATH
"Чтобы изменения вступили в силу, возможно, потребуется перезагрузить компьютер."
nvm постоянно "забывает" Node.js в новой сессии терминала
Ошибка "dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.62.dylib" при запуске PHP после установки Node через Homebrew на Mac
Как установить Java 8 на Mac
Как задать переменные окружения из файла package.json?
Как остановить Babel от трансформации 'this' в 'undefined' и добавления "use strict"