咕噜声:找不到命令

grunt: command not found

npm 知道 g运行t 是全局安装的,那为什么找不到呢?

$ 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

我想是因为它把它放在了我的路径之外的某个地方。

为什么 npm 不把它默认放在我的 PATH 上的某个地方,比如 /usr/local/bin

更新:奇怪的是,即使我在本地执行 npm install grunt 到 运行 之后,我也会收到相同的 grunt: command not found 错误。我究竟做错了什么?我的仓库中有一个 Gruntfile.js

包 "grunt" 是任务运行程序本身,而 "grunt-cli" 包是包含 grunt 可执行文件的命令行界面。您可以确保它安装到正确的路径。

如果你这样做 npm install grunt-cli 它仍然不会工作,因为这将被安装到 node_modules 中的相应目录中,这很可能不在你的路径上。但是,当您从全局安装的 CLI 工具中使用 grunt 时,它将查找该项目本地的 grunt 安装以及 Gruntfile.js

你要做的是

  1. 全局安装grunt-cli

    $ npm install grunt-cli -g

  2. 在您的依赖项中本地安装 grunt(可选择将依赖项保存到您的 package.json):

    $ npm install grunt --save

对我来说还缺少另一件事,在 Window 的环境变量中添加 NPM 文件夹的路径

  • 进入系统(我的电脑->属性)
  • 高级系统设置
  • 在“高级”选项卡中,'Environment Variables'
  • 在用户变量下,选择路径,然后选择编辑
  • 将此与您拥有的其他内容一起添加:'%USERPROFILE%\AppData\Roaming\npm'

希望这对你有所帮助,祝你好运