389

我先把旧版本的 grunt 删掉了,然后我安装了新的 grunt 版本,然后出现这个错误:

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

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

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

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

4

13 回答 13

303

我认为您的项目目录中没有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
于 2012-12-18T06:41:12.737 回答
180

在 node_modules 而不是全局安装 Grunt

Unable to find local Grunt可能意味着您已经全局安装了 Grunt。

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

这将失败:

npm install -g grunt

改为这样做:

npm install grunt --save-dev
于 2014-11-24T22:26:14.177 回答
84

npm install

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

于 2015-02-17T18:33:38.403 回答
27

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

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

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

于 2015-01-25T03:26:12.260 回答
5

它说你没有本地grunt所以尝试:

npm install grunt

(没有-g它是本地的grunt

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

于 2015-10-01T15:31:00.497 回答
5

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

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

希望它可以帮助某人。

于 2015-10-14T19:23:26.833 回答
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在你的项目目录中做。

于 2015-07-07T23:35:09.660 回答
3

我不得不在 ubuntu 上执行以下命令来解决这个问题(我知道 grunt 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

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

于 2016-07-21T12:12:21.327 回答
2

以上都没有对我有用,因为我已经在全球范围内安装了 grunt(奇怪的是在其中几个答案中推荐),这把一切都搞砸了。这是有效的:

npm uninstall -g grunt
npm install

直到现在,我才安装了本地 grunt,并且可以使用。

于 2018-09-10T15:02:00.530 回答
1

只是npm install为了安装node_modules

于 2017-08-11T02:31:10.073 回答
1

你可以简单地运行这个命令:

npm install grunt --save-dev
于 2017-12-08T06:47:26.883 回答
0

作为 grunt 的新手并对其进行设置,我正在(也许愚蠢地)从 Google Drive 运行我的 grunt 项目/文件夹,因此我可以从我的笔记本电脑或工作站访问相同的代码/构建。

有相当多的nodes_modules文件夹同步回Google Drive,并且在某些时候似乎存在冲突,并且/nodes_modules/grunt文件夹被重命名为/nodes_modules/grunt (1)

通过删除 (1) 重命名它似乎对我来说是修复它。

于 2016-03-30T06:44:22.023 回答
0

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

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

sudo npm install -g grunt-cli

它对我有用。

于 2018-11-09T08:02:57.587 回答