2013-07-11 9 views
5

Vedo molti nuovi plug-in Maven per JavaScript che richiedono l'installazione di NodeJS sulla macchina in cui avviene la generazione (server locali e CI). Ad esempio: yeoman-maven-plugin, npm-maven-plugin, ecc.Installazione di NodeJS via Maven

La domanda è: ha senso verificare l'esistenza di NodeJS e installarlo se manca via Maven come dipendenza?

Domanda bonus: se pensi che questa sia una buona idea, come realizzeresti questo compito?

+0

Penso che sarebbe una pessima idea. Non con questa logica, si prevede di installare Ruby o Python o qualsiasi altro ambiente se il progetto dipende da loro? Se il plugin che stai usando è semplicemente un wrapper per dire che esegue i test jsHint o jasmine, ecc., Potresti invece cercare un plugin autonomo adeguato. D'altra parte, se si tratta di un vero progetto di nodo, allora perché trattare il nodo come un cittadino di seconda classe? –

+0

Molti plugin Maven sono wrapper/adattatori per strumenti nativi quando non sono basati su Java. Esistono alternative decenti in molti casi (WRO4J è un ottimo esempio), tuttavia continuo a vedere nuovi grandi strumenti basati sul nodo e in molti casi sottili wrapper Maven che richiedono che Node sia già presente nel sistema. – dbrin

+0

Quello che abbiamo fatto di solito non è provare ad installare NODE, ma impostare i profili che definiscono dove trovare NODE. Quindi, per il profilo "dev-local", supponiamo che tu abbia nodej nel tuo percorso. Quindi per il server CI, supponiamo che sia in /bin/node-0.10.17/bin ecc. –

risposta

4

Si potrebbe provare il frontend-maven-plugin (via https://stackoverflow.com/a/19600777/1024571). Secondo la documentazione:

questo plugin download/installa Nodo e NPM a livello locale per il progetto, corre NPM installare, Grunt e/o Karma

In sostanza si consente di utilizzare il nodo come parte della vostra generazione elaborare senza richiedere che sia installato a livello globale sulla macchina di compilazione.

+0

Grazie Jeff. Questo sembra molto promettente. Farò un tentativo. – dbrin