mac Ruby下安装compass失败原因及解决办法

来源:互联网 发布:易语言30000源码百度云 编辑:程序博客网 时间:2024/06/10 07:20
对MAC心向往之,终于在前几天,勒紧腰带,下定狠心,入手一体机,拿到电脑后安装sass和compass却总是报一大串错误,既是MAC小白,也是英语小白,这点问题着实难为了我,在一番研究后,把自己总结的东西写出来,希望对像和我一样的前端新手能够有所帮助!
在说compass之前我们先说一个问题:
权限问题
  因为MAC自带ruby,所以省去了安装Ruby的环节,打开Ruby(也就是MAC中的终端),通过gem命令安装sass时,会出现以下错误:

该错误是提示你没有足够的权限。解决办法是,在gem命令语句前添加一个sudo,即为sudo gem install sass。
Sudo 是一个允许系统管理员授权让普通用户执行部分或全部root命令的工具,也就是说它允许系统管理员分配给普通用户一些合理的“权利”,让他们执行一些只有超级用户或其他特许用户才能完成的任务(注:在普通用户使用sudo命令时,系统会提示输入密码,验证身份。)
通常情况下,安装sass时没有什么问题的,安装sass的方法及对于被墙情况下如何用淘宝镜像安装网上已有很完整的文章(http://ruby.taobao.org/),在此就不加以叙述了。接下来我们说compass。
在安装compass的时候,会提示以下错误信息:
ERROR: Error installing compass: 

ERROR: Failed to build gem native extension. 

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb 
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/include/ruby.h 

Gem files will remain installed in /Library/Ruby/Gems/2.0.0/gems/ffi-1.9.6 for inspection. 

Results logged to /Library/Ruby/Gems/2.0.0/gems/ffi-1.9.6/ext/ffi_c/gem_make.out 

这个错误是什么意思?为什么会出现这个错误?下面我就来为大家解答。
提示的错误:
在compass安装时,找不到某个文件,这个文件应该会在ffi-1.9.6中(大概是这个意思,翻译不太准确啊~)。
出现错误的原因:
安装compass的时候,会依赖一些gem文件。
在http://rubygems.org/gems/compass中可以看到,安装compass1.0.1,需要依赖以下内容:

(依赖的gem文件也有版本要求)
那么我们下一步要做的就是查看你的电脑中是否含有这些。
查询命令:gem  list

你所安装的gem就都显示出来了。
需要说明的是,有的gem的安装还需要另外一个文件的支持,比如说rb-inotify,安装它的时候,就需要有ffi。
所以大家可以看好电脑中缺少的到底是哪个。
另外除了淘宝镜像安装,还可以下载gem文件到本地,在本地进行安装,安装语句是:
sudo gem install 文件名  —local

最后的说明:
本人也是菜鸟一枚,如果有说的不对,不合理的地方,欢迎大家拍砖指正!


1 0