安装了Grunt但没有工作 - 小牛队的“命令未找到”

时间:2014-01-09 09:53:26

标签: install gruntjs osx-mavericks

我正在尝试使用grunt和sass一直遵循这些指南:

我已经:

  • Intsalled node.js

  • 安装了grunt的命令行版本:sudo npm install -g grunt -cli

  • 添加了从grunt安装程序到我的bash配置文件的路径:export PATH=/usr/local/lib/node_modules/grunt/bin:$PATH

  • 使个人资料成为可执行文件:source ~/.bash_profile

  • 在我的项目根目录中设置package.jsonGruntfile.js个文件

  • 在项目中安装了咕噜声:cd /path/to/project/root/sudo npm install

但是当我尝试运行grunt时,我看到:command not found

如果我跑:grunt --version

,情况也一样

根据上面发布的博客,我不确定bash路径是否需要/ bin,但是我已经尝试过两种方式: /usr/local/lib/node_modules/grunt//usr/local/lib/node_modules/grunt/bin/

我也多次运行grunt安装程序,但没有看到任何错误,所以肯定是安装了 - 有人能看到我做错了什么吗?我正在运行OSX mavericks,这就是问题所在。

非常感谢任何正确方向的指示。

干杯

4 个答案:

答案 0 :(得分:54)

你的命令中有一个拼写错误。该包名为grunt-cli,没有空格。

将命令更新为:

sudo npm install -g grunt-cli

所有这些都应该按预期工作。

答案 1 :(得分:3)

希望此解决方案也可能对某人有所帮助。在我的情况下,它有点棘手。

在命令行中键入以下命令

 npm install grunt-cli -g

这将显示grun客户端的安装位置: 复制此位置并将其粘贴到文件浏览器中。这是我的情况。

 C:\Users\zkhaymed\AppData\Roaming\npm\node_modules\grunt-cli\bin

这将打开grunt文件的位置。 单击该位置的地址行,然后单击鼠标右键将其复制为文本。 现在转到控制面板上系统的高级属性,并将此地址粘贴到系统变量和用户变量中,而不删除其他变量。

答案 2 :(得分:0)

我必须将它添加到PATH(在brew install node之后的Mac上):

export NPM_HOME=/usr/local/Cellar/node/6.3.1/libexec/npm

npm install无效,无论我传给它的是什么。

答案 3 :(得分:0)

我遇到了一个非常类似的问题,希望这会有所帮助。

1)您想检查实际安装 node npm 的位置。如果您使用了包管理器,例如Homebrew或MacPorts,则该位置可能存在问题。只需使用node.js website中的可下载安装程序即可。确保使用当前版本,而不是长期支持(LTS)。安装程序将在/ usr / local / bin中安装 node npm ,它们应该已经在您的PATH中。如果您已经安装了 node / npm ,则可以使用which nodewhich npm查看它们当前所在的位置。您应该分别看到/usr/local/bin/node/usr/local/bin/npm。安装npm update -g npm后,您需要更新 npm 。这可能需要sudo

2)正确安装/更新 node npm 之后,转到项目的根目录(您拥有Gruntfile.js和package.json) )并使用npm install grunt --save-dev安装Grunt。记住Grunt这样做之后你应该看到一个名为 node_modules 的新文件夹。

3)确保在安装CLI之前执行上一步。您可以使用Grunt's getting started documentation来帮助指导您完成剩余的工作。请注意,安装Grunt的说明比安装CLI更进一步,这使得它有点混乱。安装Grunt和Grunt-CLI后,运行npm install并在命令行中运行grunt以执行Gruntfile.js。

您现在应该可以看到已安装的版本。请注意,如果您不在项目的根目录中,则不会看到Grunt的版本,但您将看到Grunt-CLI版本。这是因为CLI是全局安装的(在任何目录/子目录中使用),但Grunt是按项目安装的。

希望这有帮助!