0

Gradle: "Произошла ошибка при запуске процесса 'команда 'npm''" на Mac

9

У меня 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 ответ(ов)

1

Вы можете остановить демон Gradle, выполнив следующую команду:

$ ./gradlew --stop

После этого перезапустите команду Gradle, чтобы попытаться решить возникшую проблему. Убедитесь, что у вас нет зависших процессов, которые могут мешать нормальной работе. Если проблема остается, проверьте логи на наличие дополнительных подсказок.

0

У меня была похожая проблема, и в моем случае причина заключалась в том, что при запуске из 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, и это должно помочь решить вашу проблему.

0

У меня была такая же проблема, и я смог её решить, выполнив команду:

gradle --stop
0

Может быть полезно для кого-то:

В моем случае проблема заключалась в том, что у меня было запущено Android Studio. Мне нужно было сначала его закрыть, и тогда всё снова заработало нормально.

0

Возможно, это будет полезно:

sudo launchctl config user path $PATH

"Чтобы изменения вступили в силу, возможно, потребуется перезагрузить компьютер."

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь