导致此错误的原因-“致命错误:找不到本地咕unt声”


370

我先删除了旧版本的grunt,然后安装了新版本的grunt,然后出现此错误:

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

致命错误:无法找到本地咕unt声。

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

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


6
您是否在全球安装?npm install grunt -g
elclanrs 2012年

1
你有Gruntfile.js你的项目的根?
西蒙·布德里亚斯

6
@Garreh已经有一段时间了,但是npm install grunt --save-dev从终端尝试一下。这应该将最新版本添加到您的中package.json
罗曼(Romain)2013年

233
糟糕-这是新签出的项目。只需要做npm install
poshaughnessy

6
nmp install-将依赖项安装在本地node_modules文件夹中。
poorva

Answers:


291

我认为您grunt.js的项目目录中没有文件。使用grunt:init,它为您提供诸如的选项jQuery, node,commonjs。选择所需的内容,然后继续。这确实有效。有关更多信息,请访问

做这个:

 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

2
该版本必须是旧的(V0.3)。今天我unintsalled它,并安装名为咕噜-CLI.something新咕噜(V0.4)已经改变..
瑞安Yiada

29
当前,npm install grunt安装grunt0.3.x。您需要执行`npm install grunt@0.4'本地安装grunt-cli所需的grunt版本
Jack

6
我希望Grunt安装步骤可以解决@ 0.4。直到我找到您的评论之前,我真的很想解决这个问题。
cnp

2
npm install grunt --save-dev为我做到了
Vinicius Pinto 2014年

6
grunt-cli应该在全局安装,但是它希望您grunt.js在项目中进行本地安装。这允许每个项目使用不同版本的grunt。我通常将npm与package.json文件结合使用来安装grunt.js,以及所有其他grunt conribs等。–
Henry

164

在node_modules中而不是全局地安装Grunt

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

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

这将失败:

npm install -g grunt

改为这样做:

npm install grunt --save-dev

83

npm install

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


4
我这样做的原因就像傻瓜一样,在将新的新项目的回购信息
拖到

1
由于命令行工具始终可以位于全局位置,因此为什么需要在本地安装grunt?
Mike M

1
@MikeM有时你必须node_modules/.bin在你的PATH。同样,本地和全局可以是不同的版本。
Klas Mellbourn

就我而言,这是NetBeans的错。有时,当我git stash使用外部工具时,它会使我的项目崩溃,在这里它从中删除了一些模块,node_modules并且一切都停止了工作(之前工作正常)。之后,npm install它再次运行良好。
Wirone

26

如果您package.json的项目中已经有一个文件,并且该文件包含grunt依赖项,

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

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


5

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

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

希望它可以帮助某人。


5

它说您没有本地人,grunt所以请尝试:

npm install grunt

(没有-g本地的grunt

尽管没有直接关系,但是请确保您Gruntfile.js在当前文件夹中。


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在项目目录中进行操作。


3

我必须在ubuntu上执行以下命令来解决此问题(我知道咕unt一小时):

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

它很脏,但这是我发现的唯一解决方法... :(


2

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

npm uninstall -g grunt
npm install

直到现在,我才安装并使用了本地咕use声。


0

我是刚开始学习咕unt声并进行设置的人,所以我正在Google云端硬盘上运行(也许很愚蠢)我的咕unt声项目/文件夹,以便可以从笔记本电脑或工作站访问相同的代码/内部版本。

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

通过删除(1)重命名它似乎可以解决我的问题。


您为什么不使用GIT?
hmrc87 '16

我不想跟踪/版本更改,并且试图不维护两个单独的grunt安装,但是上面的场景是有问题的,因此无论如何我还是搬到了github。
LJT


0

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

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

sudo npm install -g grunt-cli

它为我工作。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.