Grunt安装在Ubuntu上但没有工作

时间:2015-07-01 16:16:41

标签: javascript node.js ubuntu gruntjs npm

我已通过在终端中执行以下命令安装了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中,但这没有帮助。

即使我已经尝试通过进入grunt执行/usr/local/lib/node_modules/grunt-cli/bin命令,但没有希望。

请帮帮我。

修改 这是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

2 个答案:

答案 0 :(得分:10)

/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

适用于您的情况。

答案 1 :(得分:0)

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

npm install grunt