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

我试图建立一个GitHub的jQuery的UI库使用grunt,但运行后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 

我很困惑,我想念什么?

乐米亚2020/03/23 21:46:26

您好,我在Mac上遇到了这个问题,我所做的是

全局安装并以全局路径作为前缀

sudo npm install grunt -g --prefix=/usr/local

现在 $ which grunt

应该放出来 /usr/local/bin/grunt

干杯

神乐2020/03/23 21:46:26

其他解决方案是在我使用的情况下删除ubuntu捆绑程序:

sudo apt-get remove ruby-bundler 

那对我有用。

番长2020/03/23 21:46:26

有时您必须npm install package_name -g使其正常工作。

Gil2020/03/23 21:46:26

安装grunt的正确方法是运行以下命令:

npm install grunt -g

(如果收到EACCESS错误消息,请在上面的命令前加上“ sudo”)

-g将使npm全局安装该软件包,因此您可以随时在当前计算机中使用它。

Mandy2020/03/23 21:46:26

还有一种在Windows上运行grunt的方法,而无需全局添加任何内容。在这种情况下,您无需对%PATH%做任何事情

如果已安装grunt和grunt-cli(不带-g开关)。或者通过:

npm install grunt-cli
npm install grunt@0.4.5

或者通过在packages.json文件中添加该文件,例如:

"devDependencies": {
    "grunt-cli": "^1.2.0",
    "grunt": "^0.4.5",

您可以通过以下方式在本地安装中致电grunt:

node node_modules\grunt-cli\bin\grunt --version

对于那些出于某些原因不希望或无法使用PATH或一直使其他东西混乱的人(例如在构建代理上),这是一个解决方案。

编辑:添加的版本,因为grunt-cli与grunt> 0.3兼容

JinJin2020/03/23 21:46:26

在WIN7上,我必须手动将npm文件夹(包含难以捉摸的“ grunt”文件)的路径添加到Windows PATH环境变量。
就我而言C:\Users\mhaagsma\AppData\Roaming\npm

番长Davaid2020/03/23 21:46:26

就我而言,我需要在第1行中修改文件/ usr / local / bin / grunt(不要这样做):

 #!/usr/bin/env node //remove this line
 #!/usr/bin/env nodejs // and put this line to run with nodejs

编辑:

为了避免出现问题,我创建了一个名为“ node”的链接,因为许多其他程序仍使用“ node”命令。

 sudo ln -s /usr/bin/nodejs /usr/sbin/node
2020/03/23 21:46:26

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

小小Near2020/03/23 21:46:26

最新版本的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部分作为经营的唯一模块标记咕噜。