node.js - para - Gradle "... se produjo el proceso de inicio ''comando'' npm ''''" en Mac
plugin node js (7)
La respuesta es que esto es trivial, resulta. La solución es aplicable a CUALQUIER aplicación.
El motivo del error es que ninguna de las aplicaciones visuales en Mac OS X usa un shell de usuario, por lo que todo lo que tenga en la configuración de su perfil local, como ~ / .bash_profile, simplemente no funciona cuando se inicia Studio. Hay una buena solución:
desde la terminal, vaya a este directorio o donde esté instalada su aplicación Studio (o cualquier otra aplicación):
cd / Aplicaciones / Android Studio.app/Contents/MacOS
Mueva el archivo ejecutable de estudio a studio_app (o cualquiera que sea su nombre ejecutable)
mv $ ejecutable $ $ ejecutable $ _app
Cree un nuevo archivo de texto, llámelo $ ejecutable $ y llénelo de esta manera. Aquí estoy usando mi bash_profile.
! / bin / sh
. ~ / .bash_profile
el registrador "
dirname /"$0/"
/ $ executable $ _app"exec "
dirname /"$0/"
/ $ ejecutable $ _app" $ @Cierra el archivo de estudio. De los permisos de cambio de shell:
chmod + x $ ejecutable $
Y eso es todo. Reinicie la aplicación Studio normalmente y ahora ha heredado todas sus configuraciones de bash_profile, incluida la ruta al nodo, etc.
Sustituya $ ejecutable $ con el nombre de su archivo exe. Para Android Studio sería solo estudio. Para IntelliJ debería ser solo intellij (doble comprobación).
Tengo MacOS con IntelliJ Idea instalado. Estoy usando Gradle (gradle-2.4) para construir el proyecto. Tengo NodeJS y NPM instalados en la Mac y disponibles desde el shell.
MacBook:~ user$ node -v
v4.2.2
MacBook:~ user$ npm -v
2.14.7
Cuando se ejecuta la tarea de Gradle que usa NODE / NPM, falla con el siguiente error (en el ejemplo actual es NPM).
* What went wrong:
Execution failed for task '':module:task''.
> A problem occurred starting process ''command ''npm''''
El seguimiento de pila de error de Gradle es el siguiente.
Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task '':module:task''.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:42)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:305)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:79)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:23)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:88)
at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:29)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)
at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)
at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:68)
at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:55)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:149)
at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:106)
at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:86)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:80)
at org.gradle.tooling.internal.provider.BuildModelAction.run(BuildModelAction.java:43)
at org.gradle.tooling.internal.provider.BuildModelAction.run(BuildModelAction.java:30)
at org.gradle.tooling.internal.provider.ConfiguringBuildAction.run(ConfiguringBuildAction.java:119)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:36)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)
at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:47)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)
at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:35)
at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:24)
at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
at org.gradle.launcher.daemon.server.exec.StartStopIfBuildAndStop.execute(StartStopIfBuildAndStop.java:33)
at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:71)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:69)
at org.gradle.util.Swapper.swap(Swapper.java:38)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:69)
at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:60)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)
at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:70)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)
at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
at org.gradle.launcher.daemon.server.exec.DaemonHygieneAction.execute(DaemonHygieneAction.java:39)
at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:46)
at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:246)
at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64)
Caused by: org.gradle.process.internal.ExecException: A problem occurred starting process ''command ''npm''''
at org.gradle.process.internal.DefaultExecHandle.setEndStateInfo(DefaultExecHandle.java:196)
at org.gradle.process.internal.DefaultExecHandle.failed(DefaultExecHandle.java:325)
at org.gradle.process.internal.ExecHandleRunner.run(ExecHandleRunner.java:83)
... 1 more
Caused by: net.rubygrapefruit.platform.NativeException: Could not start ''npm''
at net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:27)
at net.rubygrapefruit.platform.internal.WrapperProcessLauncher.start(WrapperProcessLauncher.java:36)
at org.gradle.process.internal.ExecHandleRunner.run(ExecHandleRunner.java:65)
... 1 more
Caused by: java.io.IOException: Cannot run program "npm" (in directory "/<project path>"): error=2, No such file or directory
at net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:25)
... 3 more
Caused by: java.io.IOException: error=2, No such file or directory
... 4 more
Así que parece que Gradle está tratando de encontrar NPM en el directorio absoluto del proyecto y no usa la variable de entorno Mac PATH. ¿Alguien sabe como evitar / solucionar esto? No puedo usar la ruta absoluta para NODE / NPM ya que el equipo se comparte y usa diferentes sistemas operativos (Linux, MacOS). ¿Algunas ideas? :)
Me encontré con este mismo problema al intentar ejecutar tareas de Gradle que ejecutaban comandos como node y npm desde el complemento de Gradle en Intellij. Se puede ver en el seguimiento de la pila que el complemento Gradle está intentando ejecutar comandos externos del sistema y está recibiendo errores como este:
WARN - nal.AbstractExternalSystemTask - error=2, No such file or directory
com.intellij.openapi.externalSystem.model.ExternalSystemException: error=2, No such file or directory
at org.jetbrains.plugins.gradle.service.project.GradleExecutionHelper.execute(GradleExecutionHelper.java:228)
Puede reproducir este error desde la línea de comandos si elimina los ejecutables (es decir, node, npm) de la ruta, lo que me dice que algo acerca del complemento no respeta la ruta del entorno.
Mi complemento Gradle está usando los proyectos gradlew (versión de gradle wrapper 2.3), así que intenté apuntar el complemento a una instalación más reciente de Gradle en mi sistema (versión 2.10) y funcionó.
Luego resolví mi problema al regenerar el envoltorio de gradle para mi proyecto y luego configuré el complemento IntelliJ Gradle para que regresara a mi envoltorio.
No tengo idea de cuál era el problema original.
Paro el daemon gradle corriendo
$ ./gradlew --stop
vuelva a ejecutar el comando de gradle y corríjalo.
Podría ser útil para alguien:
En mi caso el problema era que tenía Android Studio funcionando. Primero tuve que dejarlo, luego todo volvió a funcionar bien.
Podría ser útil:
sudo launchctl config usuario ruta $ PATH
"Para que surta efecto puede que tenga que reiniciar su máquina".
Tuve el mismo problema y lo resolví corriendo
gradle - parada
Tuve un problema similar y, en mi caso, el problema fue que cuando lo ejecuté desde IntelliJ, Gradle no pudo acceder a la ruta para averiguar dónde está el nodo / npm. Estaba usando el plugin gradle-gulp y habilitar la descarga automática del nodo resolvió el problema.
buildscript {
repositories {
mavenCentral()
jcenter()
}
dependencies {
classpath(''be.filipblondeel.gradle:gradle-gulp-plugin:0.1'')
}
}
node {
// Version of node to use.
version = ''0.12.0''
// Enabled the automatic download.
download = true
}