Соберите проект yoman из git checkout

Столкнулся с проблемой при создании проверки проекта yoman из git. Я пытаюсь получить git checkout проекта yoman и запустить grunt serve. Ниже приведен сценарий, за которым следует описание ошибки.

Описание сценария:

Person1 создал проект yoman angularjs, используя yo angular. подача ворчания отлично работает на компьютере Person1. Person1 отправляет код в git, чтобы над ним могли работать другие члены команды.

Проблема возникает, когда Person2 выполняет проверку git (клон git ‹ URL>). Команда grunt serve в извлеченной копии выдаст следующую ошибку:

$ 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

Я пробовал: npm install grunt

Я получил следующую ошибку:

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.

Используемые инструменты:

$ grunt -version
grunt-cli v0.1.13
grunt v0.4.4
$ yo -v
1.1.2
suraj@localhost:testing$ npm -version
1.4.4

ls -l в каталоге

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

Мне нужна помощь в выполнении задачи по созданию проекта из git checkout, чтобы я мог продолжить разработку.


person Suraj Nayak    schedule 13.03.2014    source источник


Ответы (2)


Выполните простой npm install внутри App-Directory.

Проблема в том, что у Yeoman-Projcet множество npm-зависимостей, не только сам grunt, но и все его задачи и генераторы. Но, конечно, вы бы не хотели, чтобы все эти пакеты находились в вашем репозитории. Это был файл "package.json": в нем перечислены все пакеты, от которых зависит проект. npm install читает package.json и самостоятельно устанавливает все необходимые пакеты.

Для правильной работы приложения вам также потребуется выполнить bower install. Bower для Frontend-Packages — это то же самое, что npm для node. «bower install» ищет зависимые пакеты в файле «bower.json» и устанавливает их.

person David Losert    schedule 13.03.2014
comment
Спасибо Charminbaer за объяснение команд. Это помогло понять, как yoman управляет зависимостями. :) - person Suraj Nayak; 13.03.2014

Решается в 2 шага. Следующие команды:

  1. установить npm
  2. установка беседки

Теперь запустите подачу ворчания.

$ 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...

Это решает проблему.

Дайте мне знать, если этого можно избежать или сделать лучше :)

person Suraj Nayak    schedule 13.03.2014