2013-04-03 6 views
10

Ich bin dabei, mein Build-System zu überarbeiten, und ich habe gelesen, dass node.js mit Grunt ist ein guter Weg zu gehen. Ich habe noch nie beides benutzt, und ich habe ein paar Probleme.Installieren Knoten Grunt lokal

Das Problem ist, dass ich eine portable Build-Umgebung einrichten möchte, die ich in die Versionskontrolle für mein Projekt aufnehmen kann (vielleicht ist das nicht möglich). Das Arbeiten mit node.js und npm war kein Problem. Aber jede Anweisung, die ich für die Installation von Grunt sehe, besagt, dass ich das Flag -g mit npm verwende, das es global installiert. Da ich eine vollständig tragbare Umgebung haben möchte, habe ich versucht, dies zu lassen, aber ich kann nicht zur Arbeit grunzen.

Fehle ich etwas, oder versuche ich nicht zu tun?

+0

Ich endete mit Ameisen stattdessen für dieses Projekt. Ich hätte gerne grunzen gearbeitet, aber ich konnte mir keine Zeit mehr für das Projekt leisten und ich konnte viel schneller in meiner Umgebung arbeiten. –

Antwort

17

Werfen Sie einen Blick auf http://gruntjs.com/getting-started

Grunt hat sich zu einem Projekt lokale Abhängigkeit (grunt) und eine Befehlszeilen Launcher (grunt-cli) kürzlich aufgeteilt. Letztere sollte global installiert werden.

Als ein zusätzlicher Hinweis darauf, dass Sie Ihre baut überall hin mitnehmen: stellen Sie sicher, alle Abhängigkeiten in package.json sparen, indem Sie die --save und --save-dev Parameter verwenden, wenn npm install verwenden. Weitere Informationen: https://npmjs.org/doc/install.html

+0

Danke für die hilfreichen Informationen. Ich habe mir die Dokumente angesehen, auf die Sie verwiesen haben. Ich bemerkte, dass sie immer noch "grunt-cli" benötigten, um global installiert zu werden. Gibt es einen Weg dahin? –

+0

Es gibt wenig Notwendigkeit, das zu umgehen. Alles, was "grunt-cli" tut, ist die Grunt-Version, die in dein Projekt eingebettet ist. Betrachten Sie es als Konvention. Abhängig davon wird Ihr Projekt nicht weniger tragbar. –

+2

Sie können grunt-cli lokal installieren und ein npm-Skript verwenden, um den Workflow zu starten. Siehe unten auf der Seite: https://npmjs.org/package/grunt-cli – M69

1

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

Installation Grunzen-cli lokal

Wenn Sie die idiomatische Node.js Methode vorziehen, mit einem Projekt (npm install && npm test) dann installieren Grunzen-cli lokal zu beginnen mit npm install grunt-cli --save-dev. Fügen Sie dann ein Skript zu Ihrer package.json hinzu, um den zugehörigen grunt-Befehl auszuführen: "scripts": { "test": "grunt test" }. Jetzt verwendet npm test die lokal installierte ausführbare Datei ./node_modules/.bin/grunt, um die Grunt-Befehle auszuführen.
https://docs.npmjs.com/misc/scripts:

Um mehr über npm Skripte, besuchen Sie bitte die npm docs zu lesen.

9

können Sie lokale Grunzen verwenden, ohne globale (-g) Installation eines Grunzen-cli durch den Aufruf:

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

Natürlich müssen Sie zunächst installieren in Ihnen vor Ort und haben eine Grunzen Version größer als 0,3 projizieren ; zum Beispiel:

npm install grunt-cli 
npm install [email protected] 

Oder sie beide zu Ihrem packages.json hinzufügen und

npm install 

Dies sollte auch anrufen helfen, wenn Sie kann einfach nicht jedes Paket global installieren, wie ich in https://stackoverflow.com/a/39046355/2201879 beschrieben habe

Hier
0

ist der Befehlszeilencode, der die neueste Version von Grunt in Ihrem Projektordner wird installieren, und fügen hinzu, es zu Ihrem devDependencies:

npm install grunt --save-dev 

Dasselbe kann für gruntplugins und andere Knotenmodule getan werden.Wie im folgenden Beispiel sehen die JSHint Aufgabe der Installation des Moduls:

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

Kasse die derzeit verfügbaren gruntplugins an der Plugins Seite installiert und verwendet auf dem Projekt werden.

Achten Sie darauf, die aktualisierte package.json-Datei mit Ihrem Projekt zu bestätigen, wenn Sie fertig sind!