2013-06-11 9 views
5

Tôi đang thử plugin yeoman-maven-plugin trên ứng dụng web của tôi. Khi tôi chạy "clean install -DskipTests = true -X" Tôi nhận được kết quả sau. Bạn không chắc chắn những gì đang xảy ra khi thư mục "yo" không tồn tại trong thư mục gốc của dự án của tôi. Tôi chạy "yo angular --minsafe" trong thư mục đó để khởi tạo ứng dụng.Sử dụng plugin yeoman-maven không thực thi được xây dựng với lỗi cài đặt npm

[ERROR] Failed to execute goal com.github.trecloux:yeoman-maven-plugin:0.1:build (default) on project map-trucks: Error during : npm install: Cannot run program "npm" (in directory "/Users/patrick/IdeaProjects/XTL/map-trucks/yo"): error=2, No such file or directory -> [Help 1] 
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.github.trecloux:yeoman-maven-plugin:0.1:build (default) on project map-trucks: Error during : npm install 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) 
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) 
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) 
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319) 
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) 
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) 
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) 
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) 
    at org.codehaus.classworlds.Launcher.main(Launcher.java:47) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120) 
Caused by: org.apache.maven.plugin.MojoExecutionException: Error during : npm install 
    at com.axonactive.yeoman.YeomanMojo.executeCommand(YeomanMojo.java:68) 
    at com.axonactive.yeoman.YeomanMojo.npmInstall(YeomanMojo.java:44) 
    at com.axonactive.yeoman.YeomanMojo.execute(YeomanMojo.java:38) 
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) 
    ... 25 more 
Caused by: java.io.IOException: Cannot run program "npm" (in directory "/Users/patrick/IdeaProjects/XTL/map-trucks/yo"): error=2, No such file or directory 
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:470) 
    at java.lang.Runtime.exec(Runtime.java:593) 
    at org.apache.commons.exec.launcher.Java13CommandLauncher.exec(Java13CommandLauncher.java:58) 
    at org.apache.commons.exec.DefaultExecutor.launch(DefaultExecutor.java:254) 
    at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:319) 
    at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:160) 
    at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:147) 
    at com.axonactive.yeoman.YeomanMojo.executeCommand(YeomanMojo.java:66) 
    ... 29 more 
Caused by: java.io.IOException: error=2, No such file or directory 
    at java.lang.UNIXProcess.forkAndExec(Native Method) 
    at java.lang.UNIXProcess.<init>(UNIXProcess.java:53) 
    at java.lang.ProcessImpl.start(ProcessImpl.java:91) 
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:452) 
    ... 36 more 
+0

vì vậy, tôi đã xác định nó hoạt động ok từ một giao diện điều khiển, nhưng nó thất bại khi chạy trong IntelliJ ... –

+0

bạn đã tìm thấy giải pháp Patrick? –

Trả lời

7

Cảm ơn bạn đã quan tâm đến plugin yeoman-maven.

Tôi nghĩ rằng vấn đề là npm không nằm trên PATH cho các ứng dụng GUI như IntelliJ. Giải pháp là tạo/chỉnh sửa/etc/launchd.conf tệp và thêm đường dẫn npm (tôi đã cài đặt npm với brew rồi tôi thêm/usr/local/bin cho đường dẫn npm và/usr/local/share/npm/bin đối với các gói (yo, grunt, ...)

setenv PATH /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/share/npm/bin

+0

Ok, cảm ơn Thomas. Tôi sẽ thử một lần :) –