我正在尝试在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
为根,而不是返回相同的错误消息。 那么需要采取哪些具体步骤来解决这个错误?
是的,我明显已经发现,在发布此问题之前进行我的研究。但是来自OP的链接中的教程来源没有提及任何地方的ruby,所以我的假设是ruby不是必需的。另外,当我输入'gem install compass'时,终端回复'bash:gem:command not found ...'。我不愿意在服务器上安装ruby,因为它是另一个依赖项,我只想安装必要的东西。你有没有另一种方法来解决这个问题没有红宝石? – CodeMed
如果您查看npm罗盘包装,步骤1是确保安装指南针。当你按照链接,他们解释这是一个宝石。 –
https://www.npmjs.com/package/compass –