2015-10-14 64 views
1

我正在使用grunt作爲「JS Task Runner」。
節點安裝在「C:/ Program Files」中。
NPM安裝在C:/ users/Peterson/appdata/roaming/npm中。
npm文件夾內的Grunt,Bower和Grunt-cli。使用grunt進行自定義項目

創建項目 - d:/項目A.
內d以下文件:/項目A - 「的package.json」gruntfile.js

的package.json

{ 
    "name": "Test-Project", 
    "version": "0.1.0", 
    "devDependencies": { 
    "grunt": "~0.4.1", 
    "grunt-contrib-concat": "~0.1.3" 
    } 
} 

gruntfile.js

module.exports = function(grunt) { 

// Project configuration. 
grunt.initConfig({ 

    //Read the package.json (optional) 
    pkg: grunt.file.readJSON('package.json'), 

    // Metadata. 
    meta: { 
     basePath: '../', 
     srcPath: '../src/', 
     deployPath: '../deploy/' 
    }, 

    banner: '/*! <%= pkg.name %> - v<%= pkg.version %> - ' + 
      '<%= grunt.template.today("yyyy-mm-dd") %>\n' + 
      '* Copyright (c) <%= grunt.template.today("yyyy") %> ', 

    // Task configuration. 
    concat: { 
     options: { 
      stripBanners: true 
     }, 
     dist: { 
      src: ['<%= meta.srcPath %>scripts/fileone.js', '<%= meta.srcPath %>scripts/filetwo.js'], 
      dest: '<%= meta.deployPath %>scripts/app.js' 
     } 
    } 
}); 

// These plugins provide necessary tasks. 
grunt.loadNpmTasks('grunt-contrib-concat'); 

// Default task 
grunt.registerTask('default', ['concat']); 

}; 

在CLI d:/項目A>咕嚕

Fatal Error: Unable to find local grunt 

有人能幫忙嗎?

+1

指定的是否在'D:/ Project A'文件夾中運行'npm install'? – topheman

+0

不,我沒有。我在安裝節點js時運行它,所以它安裝在C:/ users/Peterson/appdata/roaming/npm – Deadpool

+0

我需要在'D:/ projectA'目錄中再次運行npm嗎?如果是這樣,爲什麼? – Deadpool

回答

2

您已經安裝節點/ NPM和咕嚕&鮑爾(通過npm install -g全球安裝他們,我假設)的CLIS

什麼你缺少的是在你的項目的根目錄運行npm install(您package.json文件是),安裝你的項目依賴關係package.json

+0

你說得對。你的答案奏效。但是,我無法理解,當我在全球安裝npm時,爲什麼我需要再次將它安裝到我的項目文件夾中親愛的? – Deadpool

+1

您不是在本地安裝npm。您正在根據您的package.json文件安裝grunt和grunt插件grunt-contrib-concat的本地副本。隨着項目的發展,將來會有更多的依賴性。 http://gruntjs.com/plugins –