grunt:找不到命令
npm知道grunt是全球安装的,为什么不能find?
$ 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
?
更新:奇怪的是,即使在我执行npm install grunt
在本地运行之后,我也得到了同样的grunt: command not found
错误。 我究竟做错了什么? 在我的回购中有一个Gruntfile.js
。
“grunt”包是任务运行器本身,而“grunt-cli”包是包含grunt
可执行文件的命令行界面。 您可以确保将其安装到正确的path。
如果你执行npm install grunt-cli
它仍然不能工作,因为这将被安装到最有可能不在你path上的相应目录中的node_modules
。 但是,当你从全局安装的CLI工具中使用grunt
,它会寻找一个安装在本地的grunt以及Gruntfile.js
你必须做的是
-
全球安装
grunt-cli
:$ npm install grunt-cli -g
-
在您的依赖项中安装
grunt
local(可选地将依赖项保存到您的package.json中):$ npm install grunt –save