npm知道grunt是全局安装的,为什么不能找到呢?
$ npm install -g grunt
... installs ...
$ npm list -g | grep grunt
│ ├─┬ gruntfile-editor@0.2.0
│ ├─┬ gruntfile-editor@0.2.0
├─┬ grunt@0.4.5
│ ├─┬ grunt-legacy-log@0.1.1
│ ├── grunt-legacy-util@0.2.0
$ grunt
-bash: grunt: command not found
我认为因为它把它放在我的PATH上的某个地方。
为什么npm默认不把它放在我的PATH上的某个地方,比如/usr/local/bin
?
更新:奇怪的是,即使我grunt: command not found
在本地运行它,我也会遇到相同的npm install grunt
错误。我究竟做错了什么?我的回购中有一个Gruntfile.js
。
答案 0 :(得分:8)
包裹" grunt"是任务运行者本身而不是" grunt-cli" package是包含grunt
可执行文件的命令行界面。您可以确保将其安装到正确的路径。
如果你执行npm install grunt-cli
它仍然无效,因为它会安装到相应目录中的node_modules
,这很可能不在你的路径上。但是,当您使用全局安装的CLI工具中的grunt
时,它将查找该项目本地的grunt以及Gruntfile.js
你需要做的是
全球安装grunt-cli
:
$ npm install grunt-cli -g
在依赖项中安装grunt
local(可选择将依赖项保存到package.json):
$ npm install grunt --save
答案 1 :(得分:1)
对我来说还有另外一件事,在Window的env变量中添加NPM文件夹的路径
希望这有帮助,g'luck