2013-04-03 20 views
10

Sono in procinto di rielaborare il mio sistema di compilazione, e ho letto che node.js con grunt è un buon modo per andare. Non l'ho mai usato e ho un po 'di problemi.Installazione di Node Grunt localmente

Il problema è che voglio impostare un ambiente di compilazione portatile che possa includere nel controllo di versione per il mio progetto (forse questo non è possibile). Ottenere il funzionamento di node.js e npm non è stato un problema. Ma ogni istruzione che vedo per installare grunt dice di usare il flag -g con npm che lo installa a livello globale. Dal momento che voglio un ambiente totalmente portatile, ho tentato di lasciarlo fuori, ma non riesco a far funzionare il grugnito.

Mi manca qualcosa o è ciò che sto tentando di non rendere possibile?

+0

Ho finito con l'utilizzo di formica invece per questo progetto. Avrei voluto lavorare in modo irrefrenabile, ma non potevo permettermi più tempo per il progetto, e sono riuscito a far funzionare le form molto più velocemente nel mio ambiente. –

risposta

17

Dai un'occhiata alla http://gruntjs.com/getting-started

Grunt è stato recentemente diviso in una dipendenza di progetto locale (grunt) e una riga di comando lanciatore (grunt-cli). È il secondo che dovrebbe essere installato a livello globale.

Come suggerimento in più a garantire che si può prendere la costruisce ovunque: assicurarsi di salvare tutte le dipendenze in package.json, utilizzando i parametri --save e --save-dev quando si utilizza npm install. Per saperne di più: https://npmjs.org/doc/install.html

+0

Grazie per le utili informazioni. Ho dato un'occhiata ai documenti che hai citato. Ho notato che richiedevano ancora 'grunt-cli' per essere installato a livello globale. C'è un modo per aggirare questo? –

+0

Non c'è molto bisogno di ovviare a questo. Tutti i 'grunt-cli' fa lanciare la versione grunt incorporata nel tuo progetto. Consideralo una convenzione. A seconda di ciò non renderà il tuo progetto meno portabile. –

+2

È possibile installare localmente grunt-cli e utilizzare uno script npm per avviare il flusso di lavoro. Vedi la parte inferiore della pagina: https://npmjs.org/package/grunt-cli – M69

1

See https://www.npmjs.com/package/grunt-cli#installing-grunt-cli-locally:

Installazione grugnito-cli localmente

Se si preferisce il metodo Node.js idiomatica per iniziare con un progetto (npm install && npm test) quindi installare grugnito-cli localmente con npm installa grunt-cli --save-dev. Quindi aggiungere uno script al pacchetto package.json per eseguire il comando grunt associato: "scripts": { "test": "grunt test" }. Ora il test npm utilizzerà l'eseguibile ./node_modules/.bin/grunt installato localmente per eseguire i comandi Grunt.

Per saperne di più sugli script di NPM, si prega di visitare la documentazione NPM:
https://docs.npmjs.com/misc/scripts.

9

È possibile utilizzare grugnito locale senza globale (-g) installazione di un grugnito-cli chiamando:

node node_modules/grunt-cli/bin/grunt --version 

Ovviamente prima è necessario installarlo in voi progetto a livello locale e hanno una versione grugnito superiore a 0,3 ; per esempio:

npm install grunt-cli 
npm install [email protected] 

O entrambi aggiungere al vostro packages.json e chiamare

npm install 

Questo dovrebbe anche aiutare quando proprio non è possibile installare qualsiasi pacchetto a livello mondiale come ho descritto in https://stackoverflow.com/a/39046355/2201879

0

Ecco il codice di riga di comando che installerà l'ultima versione di Grunt nella cartella del progetto, aggiungendo ai tuoi devDependencies:

npm install grunt --save-dev 

Lo stesso può essere fatto per gruntplugins e altri moduli nodo.Come si vede nel seguente esempio l'installazione del modulo compito JSHint:

npm install grunt-contrib-jshint --save-dev 

Acquista gli attuali gruntplugins disponibili per essere installati e utilizzati sul vostro progetto la pagina dei plugin.

Assicurati di impegnare il file package.json aggiornato con il tuo progetto quando hai finito!

Problemi correlati