从git checkout构建yeoman项目

时间:2014-03-13 10:48:03

标签: node.js git angularjs yeoman yeoman-generator

从git建立yeoman项目结账面临问题。我试图拿出自己项目的git checkout并运行 grunt serve 。以下是错误描述的方案

场景描述:

Person1 使用 yo angular 创建了yeoman angularjs项目。 grunt服务 Person1 的计算机上正常运行。 Person1 将代码推送到git,以便其他团队成员可以使用它。

Person2 结帐git( git clone< 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构建项目的任务,这样我才能继续开发。

2 个答案:

答案 0 :(得分:9)

在App-Directory中执行一个简单的npm install

问题是: Yeoman-Projcet有很多npm依赖,不仅是grunt本身,还有所有grunts任务和生成器。但是,当然你不希望你的存储库中的所有这些包。这就是“package.json”文件的来源:它列出了项目所依赖的所有包。 npm install读取package.json并自行安装所有需要的包。

要正确运行应用,您还需要执行bower install。 Bower用于Frontend-Packages,npm用于节点。 “bower install”在“bower.json”-File中查找依赖包并安装它们。

答案 1 :(得分:6)

分2步解决。以下命令:

  1. npm install
  2. bower install
  3. 现在运行 grunt serve

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

    这解决了这个问题。

    让我知道这是否可以避免或以更好的方式完成:)