导致此错误的原因是什么 - “致命错误:无法找到本地咕噜声”

时间:2012-12-18 03:39:58

标签: javascript gruntjs

我首先删除了旧版本的grunt,然后我安装了新的grunt版本,然后我收到了这个错误:

  

D:\ www \ grunt-test \ grunt grunt-cli:grunt命令行界面。   (v0.1.4)

     

致命错误:无法找到当地的咕噜声。

     

如果您看到此消息,则找不到Gruntfile或   grunt尚未在本地安装到您的项目中。更多   有关安装和配置grunt的信息,请参阅   入门指南:http://gruntjs.com/getting-started

这是因为我的系统路径中没有对grunt的引用吗?或者是其他东西?我已经尝试重新安装它几次了。

13 个答案:

答案 0 :(得分:282)

我认为您的项目目录中没有grunt.js文件。使用grunt:init,可为您提供jQuery, node,commonjs等选项。选择你想要的,然后继续。这确实有效。有关详细信息,请访问this

这样做:

 1. npm install -g grunt
 2. grunt:init  ( you will get following options ):
      jquery: A jQuery plugin
      node: A Node module
      commonjs: A CommonJS module
      gruntplugin: A Grunt plugin
      gruntfile: A Gruntfile (grunt.js)
 3 .grunt init:jquery (if you want to create a jQuery related project.).

它应该有用。

v1.4的解决方案:

1. npm install -g grunt-cli
2. npm init
   fill all details and it will create a package.json file.
3. npm install grunt (for grunt dependencies.)

编辑:更新了新版本的解决方案:

 npm install grunt --save-dev

答案 1 :(得分:158)

在node_modules中安装Grunt而不是全局

Unable to find local Grunt可能意味着您已在全球范围内安装了Grunt。

Grunt CLI坚持要在本地node_modules目录中安装grunt,因此Grunt是您项目的本地目录。

这将失败:

npm install -g grunt

请改为:

npm install grunt --save-dev

答案 2 :(得分:80)

待办事项

npm install

./node_modules(以及package.json文件中指定的所有其他内容)本地安装Grunt

答案 3 :(得分:25)

如果项目中已有文件package.json且其中包含grunt,则

  "devDependencies": {
    "grunt": "~0.4.0",

然后您可以运行npm install来解决问题

答案 4 :(得分:5)

它表示您没有本地grunt,请尝试:

npm install grunt

(没有-g它是本地grunt

虽然没有直接关系,但请确保您当前的文件夹中有Gruntfile.js

答案 5 :(得分:5)

我错误地使用sudo和其他没有特权的安装一些软件包,这解决了我的问题。

sudo chown -R $(whoami) $HOME/.npm

希望它对某人有所帮助。

答案 6 :(得分:4)

这可能是一些问题,具体取决于使用的grunt版本。较新版本的grunt实际上指定您有一个名为Gruntfile.js的文件(而不是旧的grunt.js)。

您应该全局安装grunt-cli工具(这可以通过npm install -g grunt-cli完成)。这允许您从命令行实际运行grunt命令。

其次确保您已在本地为您的项目安装了grunt。如果您发现package.json中没有"grunt": "0.4.5",那么您应该在项目目录中执行npm install grunt --save

答案 7 :(得分:3)

我必须在ubuntu上执行以下命令来解决这个问题(我知道咕噜声1小时):

sudo npm install -g grunt
sudo npm install -g grunt-cli

cd /usr/local/bin
# current symlink points to ../lib/node_modules/grunt/bin/grunt*
sudo rm /usr/local/bin/grunt
sudo ln -s ../lib/node_modules/grunt-cli/bin/grunt* grunt

它很脏,但它是我找到的唯一解决方案...... :(

答案 8 :(得分:1)

以上都不对我有用,因为我已经在全球范围内安装了咕unt声(奇怪的是,在一些答案中建议这样做),这使所有事情搞砸了。这是起作用的:

npm uninstall -g grunt
npm install

对我来说,直到现在才安装了本地咕unt声。

答案 9 :(得分:0)

对于咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕噜咕咕咕噜咕

将nodes_modules文件夹同步回到Google云端硬盘并且某些时候似乎存在冲突,并且/ nodes_modules / grunt文件夹已重命名为/ nodes_modules / grunt(1)

通过删除(1)重新命名它似乎为我解决了。

答案 10 :(得分:0)

只需npm install即可安装node_modules

答案 11 :(得分:0)

您只需运行此命令:

npm install grunt --save-dev

答案 12 :(得分:0)

我在Vagrant中遇到了同样的问题。

我已经使用sudo运行命令进行安装。

sudo npm install -g grunt-cli

对我有用。