为什么Grunt不把自己添加到shell中?

我有一个问题安装咕噜声。 所有的文档和博客文章教程说,运行:

npm install -g grunt 

然后将允许您从terminal运行grunt命令。

我有一个情况,似乎安装没有错误的咕噜声,但在terminalinput命令咕噜仍然给:

 -bash: grunt: command not found 

我可能做错了什么? 我在哪里可以findgrunt手动添加到我的BASHconfiguration文件?

由于Grunt版本0.4(它是在1到2周前发布的),你需要在全局安装grunt命令行工具(如果需要,在命令之前使用sudo ):

 npm install -g grunt-cli 

在您的项目位置,然后安装最新的grunt版本:

 npm install grunt --save-dev 

选项--save-dev将把npmconfiguration保存在你的package.json文件中,这样可以更容易地安装或重新安装依赖(只使用npm install )。

尝试使用详细标志运行安装:

 npm install -g grunt --verbose 

你可以看到它的安装位置(如/ usr / local / share / npm / bin / grunt)。 然后检查你的path:

 echo $PATH 

如果path不包含安装位置,请修改bashconfiguration文件中的path以包含bin目录的位置,然后在新的terminal中再次尝试grunt。

更新 :Grunt 0.4改变了安装过程。 对于0.4安装,请参阅下面的答案。

看来在当前的版本0.4.0 grunt不会安装bin命令。 最后的0.3.x版本是0.3.17 ,支持bin命令。 要从命令行运行grunt,您需要安装grunt命令行grunt-cli:

 npm install -g grunt-cli --verbose 

我已经使用Homebrew安装节点 ,这是我的解决scheme:

  • 设置configuration为-g(GLOBAL)安装目录目录: npm config set prefix /Users/YOURNAME/.node/

  • 请确保编辑PATH: sudo nano〜/ .profile

  • 添加到path: export PATH =“/ Users / YOURNAME / .node / bin:”$ PATH

  • 然后更新源: source〜/ .profile

遵循这些步骤将允许使用npm install -g somePKG安装的任何软件包放置在正确的位置,而不pipe您当前的工作目录。 并通过正确更新您的$ PATH命令行function将工作。

信息基于:修复npm权限 – bit.ly/1CmIyqx