Grunt 安装在 Ubuntu 但不工作

Grunt installed on Ubuntu but not working

我已经通过在终端中执行以下命令安装了 Grunt:

sudo apt-get install nodejs

sudo apt-get install npm

npm install -g grunt-cli

下面是执行npm install -g grunt-cli

后的终端输出
npm http GET https://registry.npmjs.org/grunt-cli
npm http 304 https://registry.npmjs.org/grunt-cli
npm http GET https://registry.npmjs.org/nopt
npm http GET https://registry.npmjs.org/findup-sync
npm http GET https://registry.npmjs.org/resolve
npm http 304 https://registry.npmjs.org/resolve
npm http 304 https://registry.npmjs.org/nopt
npm http 304 https://registry.npmjs.org/findup-sync
npm http GET https://registry.npmjs.org/abbrev
npm http GET https://registry.npmjs.org/glob
npm http GET https://registry.npmjs.org/lodash
npm http 304 https://registry.npmjs.org/lodash
npm http 304 https://registry.npmjs.org/glob
npm http 304 https://registry.npmjs.org/abbrev
npm http GET https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/minimatch
npm http 304 https://registry.npmjs.org/inherits
npm http 304 https://registry.npmjs.org/minimatch
npm http GET https://registry.npmjs.org/lru-cache
npm http GET https://registry.npmjs.org/sigmund
npm http 304 https://registry.npmjs.org/sigmund
npm http 304 https://registry.npmjs.org/lru-cache
/usr/local/bin/grunt -> /usr/local/lib/node_modules/grunt-cli/bin/grunt
grunt-cli@0.1.13 /usr/local/lib/node_modules/grunt-cli
├── resolve@0.3.1
├── nopt@1.0.10 (abbrev@1.0.7)
└── findup-sync@0.1.3 (lodash@2.4.2, glob@3.2.11)

Grunt 应该全局安装,但是当我在终端上尝试 grunt --version 时,它显示如下:

/usr/bin/env: node: No such file or directory

我尝试将 /usr/local/lib/node_modules/grunt-cli/bin 添加到 ~/.bashrc 中,但这没有帮助。

我什至尝试通过 /usr/local/lib/node_modules/grunt-cli/bin 执行 grunt 命令,但没有希望。

请帮帮我。

编辑: 这是 sudo apt-get install nodejs

的输出
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  gyp javascript-common libc-ares-dev libjs-node-uuid libssl-dev libssl-doc
  libv8-3.14-dev rlwrap zlib1g-dev
Use 'apt-get autoremove' to remove them.
The following NEW packages will be installed:
  nodejs
0 upgraded, 1 newly installed, 0 to remove and 261 not upgraded.
Need to get 0 B/684 kB of archives.
After this operation, 3,116 kB of additional disk space will be used.
Selecting previously unselected package nodejs.
(Reading database ... 172429 files and directories currently installed.)
Preparing to unpack .../nodejs_0.10.25~dfsg2-2ubuntu1_amd64.deb ...
Unpacking nodejs (0.10.25~dfsg2-2ubuntu1) ...
Processing triggers for doc-base (0.10.5) ...
Processing 1 added doc-base file...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Setting up nodejs (0.10.25~dfsg2-2ubuntu1) ...
update-alternatives: using /usr/bin/nodejs to provide /usr/bin/js (js) in auto mode

这是 ls -ln 来自 /usr/local/bin

的输出
lrwxrwxrwx 1 0 0 39 Jul  2 00:07 grunt -> ../lib/node_modules/grunt-cli/bin/grunt
lrwxrwxrwx 1 0 0 21 Jul  1 23:50 node -> /usr/local/bin/nodejs

/usr/bin/env: node: No such file or directory 告诉你一切。当你 apt-get install nodejs 我相信它会将 nodejs 而不是 node 放入你的 /usr/local/bin。所以只需像

一样进行符号链接
sudo ln -s /usr/local/bin/nodejs /usr/local/bin/node

它应该可以工作。

编辑:应该是

sudo ln -s /usr/bin/nodejs /usr/bin/node

适合你的情况。

您还必须将 grunt 安装到您的项目文件夹中。 grunt-cli 包只是一个存根,它引用位于项目 node_modules 文件夹中的 grunt 包。

npm install grunt