节点包(Grunt)已安装但不可用

我试图用grunt构建一个github jquery-ui库,但是在运行npm install我仍然无法根据自述文件运行命令。 它只是给了No command 'grunt' found

james@ubuntu:~/Documents/projects/ad2/lib/jquery-ui$ grunt build
No command 'grunt' found, did you mean:
 Command 'grun' from package 'grun' (universe)
grunt: command not found
james@ubuntu:~/Documents/projects/ad2/lib/jquery-ui$ npm ls
jquery-ui@1.9.0pre /home/james/Documents/projects/ad2/lib/jquery-ui
├─┬ grunt@0.3.9 
│ ├── async@0.1.18 
│ ├── colors@0.6.0-1 
│ ├─┬ connect@1.8.7 
│ │ ├── formidable@1.0.9 
│ │ ├── mime@1.2.5 
│ │ └── qs@0.5.0 
│ ├── dateformat@1.0.2-1.2.3 
│ ├─┬ glob-whatev@0.1.6 
│ │ └─┬ minimatch@0.2.4 
│ │   └── lru-cache@1.0.6 
│ ├─┬ gzip-js@0.3.1 
│ │ ├── crc32@0.2.2 
│ │ └── deflate-js@0.2.2 
│ ├── hooker@0.2.3 
│ ├─┬ jshint@0.5.9 
│ │ ├── argsparser@0.0.6 
│ │ └─┬ minimatch@0.2.4 
│ │   └── lru-cache@1.0.6 
│ ├─┬ nodeunit@0.6.4 
│ │ ├── tap-assert@0.0.10 
│ │ └─┬ tap-producer@0.0.1 
│ │   ├── inherits@1.0.0 
│ │   ├── tap-results@0.0.2 
│ │   └── yamlish@0.0.5 
│ ├─┬ nopt@1.0.10 
│ │ └── abbrev@1.0.3 
│ ├─┬ prompt@0.1.12 
│ │ ├── pkginfo@0.2.3 
│ │ └─┬ winston@0.5.11 
│ │   ├── eyes@0.1.7 
│ │   ├─┬ loggly@0.3.11 
│ │   │ └── timespan@2.2.0 
│ │   └── stack-trace@0.0.6 
│ ├── semver@1.0.13 
│ ├─┬ temporary@0.0.2 
│ │ └── package@1.0.0 
│ ├── uglify-js@1.0.7 
│ ├── underscore@1.2.4 
│ └── underscore.string@2.1.1 
├── grunt-compare-size@0.1.4 
├─┬ grunt-css@0.2.0 
│ ├── csslint@0.9.8 
│ └── sqwish@0.2.0 
├── grunt-html@0.1.1 
├── request@2.9.153 
├─┬ rimraf@2.0.1 
│ └── graceful-fs@1.1.8 
└─┬ testswarm@0.2.2 
  └── request@2.9.202 

我很困惑,请问我错过了什么?


最新版本的Grunt(写作时为0.4)不包含命令行工具,您需要单独安装它们。

这是一个好主意,因为这意味着你可以在不同的项目上运行不同版本的Grunt,但仍然使用漂亮简洁的grunt命令来运行它们。

因此,首先在全球范围内安装grunt cli工具:

npm install -g grunt-cli

(或者可能是sudo npm install -g grunt-cli )。

你可以通过输入grunt --version来建立它的工作

现在您可以将当前版本的Grunt本地安装到您的项目中。 所以从你项目的位置...

npm install grunt --save-dev

save-dev开关并不是绝对必要的,但它是一个好主意,因为它将package.json devDependencies部分标记为仅限开发模块。


/usr/local/share/npm/bin/到您的$PATH


如果你确实已经通过运行npm install -g grunt安装Grunt软件包,它仍然会说No command 'grunt' foundgrunt: command not found ,那么得到这个工作的一种快速和肮脏的方法是手动将节点二进制文件链接到你的$ PATH。

在MacOSX / Linux上,您可以将此行添加到~/.bash_profile~/.bashrc文件中。

PATH=$PATH:/usr/local/Cellar/node/HEAD/bin # Add NPM binaries

您可能应该根据可找到节点二进制文件的路径替换/usr/local/Cellar/node/HEAD/bin

如果这对我来说很快而且很肮脏 ,那是因为一切都应该在没有这样做的情况下发挥作用,但是由于未知原因,一个链接似乎被打破了。 由于IRC上的任何人都无法告诉我为什么会发生这种情况,我找到了自己的方式让它(咕噜)工作。

PS:这应该会帮助你做出咕噜的作品,这个答案不是jquery-ui相关的。

2013年2月更新 :你应该看看@ tom-p的答案,它更好地解释了发生了什么。 Tom给了我们真正的解决方案,而不是破解你的bashrc文件:两者都应该可以工作,但是你应该先尝试安装grunt-cli

链接地址: http://www.djcxy.com/p/27627.html

上一篇: Node package ( Grunt ) installed but not available

下一篇: keeps saying need merge