2013-08-16 19 views
11

Ho installato nodejs (npm) e npm install grunt-cli sulla mia casella di Ubuntu. Ho trovato il bello di configurazione-ant-run Maven per Maven:Impossibile eseguire npm e bash da Maven

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

ma quando corro mvn clean install da riga di comando ottengo:

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' 

Perché NPM falliscono quando stai correndo all'interno di Maven?

EDIT: ora ho aggiornato la configurazione per:

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

che funziona. Ma strano che non funzioni quando si esegue la versione originale.

+0

Grazie, risolto il mio problema, come pure - ti dispiacerebbe pubblicare la tua soluzione come una risposta (e non come una modifica della sua domanda) e accettando questa risposta? – olsn

risposta

8

Perché nel primo esempio si eseguiva "bash" con l'argomento "npm install", che equivale a eseguire bash npm install sulla riga di comando. Questo dice a bash di provare a eseguire 'npm' come script di shell, ma lo script npm nel tuo percorso è codice javascript. Provalo:

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' 
Problemi correlati