2016-02-16 61 views
1

我正在尝试在CentOS 7上使用grunt和yeoman设置node.js服务器,但我收到一条错误消息,指出无法找到compass命令。我读this other posting about a similar error,但另一篇文章假设你在轨道上使用红宝石,我不是。另外,the methods that I am testing come from this tutorial,和事情停止工作,当我到达教程中的地方,它说,键入grunt serve.我已经做了几个补充教程一个接一个地解决错误消息,但目前有关指南针的错误似乎并没有一个谷歌的答案。grunt找不到指南针命令。为什么不?

我需要采取哪些特定步骤才能让咕噜声能够找到并使用指南针?

这里,这是造成grunt serve失败当前错误:

Warning: Running "compass:server" (compass) task 
Warning: Command failed: /bin/sh -c compass --version 
/bin/sh: compass: command not found 
Use --force to continue. 
Aborted due to warnings. 

下面是一系列导致这一问题的命令:

首先,我执行了以下安装命令为根:

yum install -y nodejs 
yum clean all && yum update 
yum install -y gcc-c++ openssl-devel make 
npm install -g express 
npm install -g express-generator 
npm install -g yo 
npm install -g generator-angular 
npm install -g bower 
npm install -g nodemon 
npm install -g grunt-cli 
npm install generator-karma 
npm install -g compass 
npm install -g grunt-contrib-compass 

接下来,我切换到非root用户帐户并运行以下命令:

cd /home/user/angular_apps 
mkdir /home/user/angular_apps/my_new_project && cd /home/user/angular_apps/my_new_project 
mkdir /home/user/angular_apps/my_new_project/client // will house angular and app code 
mkdir /home/user/angular_apps/my_new_project/server // will house node and express code, among other things 
cd /home/user/angular_apps/my_new_project/client 
yo angular // get yeoman to scaffold out the front end 
    // yeoman asked many questions. I said no to replacing grunt with anything else and I said yes to every other include 
npm install // this will install all the required packages 
bower install // this will hook up bower and thus prevent a downstream error 
grunt serve 

grunt serve命令导致以下完整的错误输出:

[[email protected] client]$ grunt serve 
Running "serve" task 
Running "clean:server" (clean) task 
>> 0 paths cleaned. 
Running "wiredep:app" (wiredep) task 
Running "wiredep:test" (wiredep) task 
Running "wiredep:sass" (wiredep) task 
Running "concurrent:server" (concurrent) task 
    Warning: Running "compass:server" (compass) task 
    Warning: Command failed: /bin/sh -c compass --version 
    /bin/sh: compass: command not found 
    Use --force to continue. 
    Aborted due to warnings. 

    Execution Time (2016-02-15 23:22:25 UTC) 
    loading tasks     254ms ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 76% 
    loading grunt-contrib-compass 28ms ▇▇▇ 8% 
    compass:server     50ms ▇▇▇▇▇ 15% 
    Total 333ms Use --force to continue. 

    Aborted due to warnings. 

Execution Time (2016-02-15 23:22:24 UTC) 
loading tasks    307ms ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 20% 
wiredep:app    254ms ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 17% 
wiredep:sass    37ms ▇▇▇ 2% 
loading grunt-concurrent 23ms ▇▇ 2% 
concurrent:server   865ms ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 57% 
Total 1.5s 
[[email protected] client]$ 

需要注意的是,当我尝试运行grunt serve为根,而不是返回相同的错误消息。 那么需要采取哪些具体步骤来解决这个错误?

回答

3

我以为指南针是一件红宝石的事情。

尝试gem install compass

对于基于百胜系统

yum -y install gcc ruby-devel rubygems compass也可能会奏效。

+0

是的,我明显已经发现,在发布此问题之前进行我的研究。但是来自OP的链接中的教程来源没有提及任何地方的ruby,所以我的假设是ruby不是必需的。另外,当我输入'gem install compass'时,终端回复'bash:gem:command not found ...'。我不愿意在服务器上安装ruby,因为它是另一个依赖项,我只想安装必要的东西。你有没有另一种方法来解决这个问题没有红宝石? – CodeMed

+1

如果您查看npm罗盘包装,步骤1是确保安装指南针。当你按照链接,他们解释这是一个宝石。 –

+0

https://www.npmjs.com/package/compass –