2014-03-13 10 views
6

Bin konfrontiert Problem beim Bau der Yeoman Projekt Checkout von Git. Ich versuche, git checkout von yeoman Projekt zu nehmen und grunt serve laufen zu lassen. Im Anschluss an die durch Fehlerbeschreibung gefolgt SzenarioBuild Yeoman Projekt von Git-Kasse

Beschreibung Szenario:

Person1 die Yeoman AngularJS Projekt erstellt yo Winkel verwenden. grunt serve funktioniert gut in Person1 's Computer. Person1 schiebt den Code zu git, damit andere Teammitglieder daran arbeiten können.

Problem tritt auf, wenn Person2 eine Kasse des git nimmt (git clone < URL>). Der Grunzen Befehl in der ausgecheckte Kopie dienen wird folgende Fehler geben:

$ grunt serve 
grunt-cli: The grunt command line interface. (v0.1.13) 

Fatal error: Unable to find local grunt. 

If you're seeing this message, either a Gruntfile wasn't found or grunt 
hasn't been installed locally to your project. For more information about 
installing and configuring grunt, please see the Getting Started guide: 

http://gruntjs.com/getting-started 

Ich habe versucht: npm install grunt

Ich habe folgende Fehlermeldung:

grunt serve 
Loading "Gruntfile.js" tasks...ERROR 
>> Error: Cannot find module 'load-grunt-tasks' 
Warning: Task "serve" not found. Use --force to continue. 

Aborted due to warnings. 

Werkzeuge benutzt:

$ grunt -version 
grunt-cli v0.1.13 
grunt v0.4.4 
$ yo -v 
1.1.2 
[email protected]:testing$ npm -version 
1.4.4 

ls -l auf der di Pfarrhaus

drwxrwxr-x app 
-rw-rw-r-- bower.json 
-rw-rw-r-- Gruntfile.js 
-rw-rw-r-- karma.conf.js 
-rw-rw-r-- karma-e2e.conf.js 
drwxrwxr-x node_modules 
-rw-rw-r-- package.json 
drwxrwxr-x test 

Ich brauche Hilfe bei der Erfüllung der Aufgabe, das Projekt von Git-Checkout zu bauen, damit ich die Entwicklung weiterführen konnte.

Antwort

9

Führen Sie eine einfache npm install im App-Verzeichnis.

Das Problem ist: Das Yeoman-Projcet hat viele npm-Abhängigkeiten, grunzt sich nicht nur, sondern auch alle Grunts Aufgaben und Generatoren. Aber natürlich möchten Sie nicht alle diese Pakete in Ihrem Repository haben. Das ist die Datei "package.json": Sie listet alle Pakete auf, von denen das Projekt abhängt. npm install liest die package.json und installiert alle benötigten Pakete von selbst. Um die App ordnungsgemäß auszuführen, müssen Sie auch bower install ausführen. Bower ist für die Frontend-Pakete was npm für Knoten ist. "bower install" sucht nach den abhängigen Paketen in der "bower.json" -Datei und installiert sie.

+0

Dank Charminbaer für die Befehle zu erklären. Es half zu verstehen, wie Yeoman Abhängigkeiten verwaltet. :) –

+0

Sie sind willkommen, froh, ich könnte helfen! :) – Charminbear

6

Gelöst in 2 Schritten.Die folgende Befehle:

  1. npm installieren
  2. Bower

Jetzt Grunzen laufen installieren dienen

$ grunt serve 
Running "serve" task 

Running "clean:server" (clean) task 

Running "bower-install:app" (bower-install) task 

Running "concurrent:server" (concurrent) task 

    Running "compass:server" (compass) task 
    directory .tmp/styles/ 
     create .tmp/styles/main.css (8.454s) 
    Compilation took 8.455s 

    Done, without errors. 


    Execution Time (2014-03-13 10:53:01 UTC) 
    compass:server 9.1s ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 100% 
    Total 9.1s 

Running "autoprefixer:dist" (autoprefixer) task 
Prefixed file ".tmp/styles/main.css" created. 

Running "connect:livereload" (connect) task 
Started connect web server on 127.0.0.1:9000. 

Running "watch" task 
Waiting... 

Dies löst das Problem.

Lassen Sie mich wissen, ob dies in einer besseren Art und Weise oder getan vermieden werden kann :)