【问题标题】:Cannot run program ng无法运行程序 ng
【发布时间】:2019-02-27 15:58:33
【问题描述】:

我正在使用 Angular 5 开发 Spring Boot 应用程序。

我的 npmnodeangular/cli 安装良好

  1. npm -v: 6.4.1
  2. 节点-v:v8.9.1
  3. ng -v: 6.2.3

pom.xml 文件中出现 ng 命令 的部分:

                    <execution>
                        <id>npm-install-build</id>
                        <phase>generate-resources</phase>
                        <goals>
                            <goal>exec</goal>
                        </goals>
                        <configuration>
                            <executable>ng</executable>
                            <arguments>
                                <argument>build</argument>
                            </arguments>
                        </configuration>
                    </execution>

当我尝试使用 mvn -U clean install 编译我的项目时,我收到此错误:

[ERROR] Command execution failed. java.io.IOException: Cannot run program "ng" (in directory "C:\Users\AN5810BN\intellj-workspace\stmms-cdc-async\stmms-cdc-async-service\src\main\ui"): CreateProcess error=2, Le fichier sp▒cifi▒ est introuvable
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
        at java.lang.Runtime.exec(Runtime.java:620)
        at org.apache.commons.exec.launcher.Java13CommandLauncher.exec(Java13CommandLauncher.java:61)
        at org.apache.commons.exec.DefaultExecutor.launch(DefaultExecutor.java:279)
        at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:336)
        at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:166)
        at org.codehaus.mojo.exec.ExecMojo.executeCommandLine(ExecMojo.java:804)
        at org.codehaus.mojo.exec.ExecMojo.executeCommandLine(ExecMojo.java:751)
        at org.codehaus.mojo.exec.ExecMojo.execute(ExecMojo.java:313)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
        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:116)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
        at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:862)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:286)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:197)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) Caused by: java.io.IOException: CreateProcess error=2, Le fichier sp▒cifi▒ est introuvable
        at java.lang.ProcessImpl.create(Native Method)
        at java.lang.ProcessImpl.<init>(ProcessImpl.java:386)
        at java.lang.ProcessImpl.start(ProcessImpl.java:137)
        at java.lang.P

我该如何解决这个问题?

【问题讨论】:

  • 你是否安装了 angular cli gobally?
  • 打开命令提示符并运行 ng 命令.. 你看到那里有什么错误吗?
  • @Akshay 我使用 npm install -g @angular/cli 安装了 angular cli,但我没有理解 global 是什么意思?
  • @Ritesh 没有错误,它显示了所有 ng 选项,例如 add build config ..
  • -g 表示全局,可以直接在命令提示符下执行

标签: javascript angular spring-boot


【解决方案1】:

本地 ng 命令适用于我,要运行此命令,我们使用 $ npm run ng build

所以我将问题中的 pom.xml 部分替换为:

 <execution>
                        <id>npm-ng-build</id>
                        <phase>generate-resources</phase>
                        <goals>
                            <goal>exec</goal>
                        </goals>
                        <configuration>
                            <executable>npm</executable>
                            <arguments>
                                <argument>run</argument>
                                <argument>ng</argument>
                                <argument>build</argument>
                            </arguments>
                        </configuration>
                    </execution>

而且效果很好

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-03
    • 1970-01-01
    • 1970-01-01
    • 2020-01-24
    • 2021-12-19
    相关资源
    最近更新 更多