MAC 升级到10.10(OS X Yosemite)后,打开以前的工程,执行grunt server命令,发现执行compass任务失败。报错如下:
Running "concurrent:server" (concurrent) task
Warning: Running "compass:server" (compass) task
Fatal error: spawn ENOENT Use --force to continue.
Aborted due to warnings.
之后,我执行compass命令,结果报错了:
greenqigtekiMBP:web-dev green$ compass
-bash: /usr/bin/compass: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby: bad interpreter: No such file or directory
发现compass已经失效了。于是我就想重新安装compass。由于直接执行gem install compass,由于众所周知的原因下载不了,所以先更换了一下下载源。具体参见链接:http://ruby.taobao.org/
然后我执行命令:sudo gem install compass,但是一直报错,部分报错如下:
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/include/ruby.h
这个困扰了我很久,不知道是怎么回事,看网上说要安装ruby-devel,但是我装了很久,没装上。中间装了brew和rvm工具。
后来,我执行了一下
sudo gem install compass --pre
竟然成功了。然后我又执行了一遍
sudo gem install compass
,竟然又成功了。
然后我退出终端,重新打开终端。
重新执行grunt server命令,这次能顺利启动了,不过还是有点小问题。blueprint不能正常加载了,报错如下:
error app/styles/account.scss (Line 8 of app/styles/account/_coupon.scss: File to import not found or unreadable: blueprint.
重新安装blueprint,执行命令:
sudo gem install compass-blueprint
退出终端,重新打开终端,再执行grunt server,终于正常了。。。。