13

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'

maven内で実行するとnpmが失敗するのはなぜですか?

編集:構成を次のように更新しました。

<!-- <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>

動作します。しかし、元のバージョンを実行しているときに動作しないのは奇妙です。

4

1 に答える 1

13

bash npm install最初の例では、引数「npm install」を指定して「bash」を実行していたため、コマンドラインで実行するのと同じです。これは、シェル スクリプトとして「npm」を​​実行しようとするように bash に指示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'
于 2013-08-19T19:02:21.573 に答える