【问题标题】:Cannot run npm and bash from maven无法从 maven 运行 npm 和 bash
【发布时间】:2013-08-16 13:28:27
【问题描述】:

我已经在我的 ubuntu 机器上安装了 nodejs (npm) 和 npm install grunt-cli。我为 maven 找到了不错的 maven-ant-run 配置:

https://gist.github.com/nadavdav/5308453

但是当我从命令行运行 mvn clean install 时,我得到:

building:
     [echo] ---------------------------------------------------
     [echo] -- NPM INSTALL --
     [echo] ---------------------------------------------------
     [exec] /usr/bin/npm: npm: line 2: syntax error near unexpected token `;'
     [exec] /usr/bin/npm: npm: line 2: `;(function () { // wrapper in case we're in module_context mode'

为什么npm在maven里面运行会失败?

编辑:我现在已将配置更新为:

<!-- <exec executable="bash" dir="${project.basedir}" osfamily="unix" -->
<!--    failonerror="true"> -->
<!--    <arg line="npm install" /> -->
<!-- </exec> -->

<!-- WORKING -->
     <exec executable="npm" dir="${project.basedir}" failonerror="true">
    <arg value="install" />
     </exec>

有效。但是奇怪的是运行原版的时候就不行了。

【问题讨论】:

  • 谢谢,也解决了我的问题 - 您介意将您的解决方案作为答案发布(而不是作为您问题的编辑)并接受此答案吗?

标签: maven npm


【解决方案1】:

因为在第一个示例中,您使用参数“npm install”运行“bash”,这与在命令行上运行bash npm install 相同。这告诉 bash 尝试将“npm”作为 shell 脚本运行,但路径中的 npm 脚本是 javascript 代码。试试看:

john-warden-mba-2012:nodetest john$ bash npm install
/opt/local/bin/npm: npm: line 2: syntax error near unexpected token `;'
/opt/local/bin/npm: npm: line 2: `;(function () { // wrapper in case we're in module_context mode'

【讨论】:

  • 明白了……但是如何在 ant 中修复? @u123 更新不适用于我的情况。
  • 但我使用的是
猜你喜欢
  • 2016-12-23
  • 1970-01-01
  • 2018-06-17
  • 2019-03-30
  • 2016-10-20
  • 2016-05-28
  • 2021-01-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多