上周我因为bash“易受攻击的问题”而在cygwin上做了更新。
之后我再也无法编译sass了。
我试图重新安装ruby,在一些安装失败后重新安装cygwin我安装了它并更新了“gem update --system”
它运行,但当我尝试安装指南针时,我收到了以下消息:
> /usr/bin/ruby.exe -r ./siteconf20141006-7856-1td7wzb.rb extconf.rb
> checking for ffi.h... *** extconf.rb failed *** Could not create
> Makefile due to some reason, probably lack of necessary libraries
> and/or headers. Check the mkmf.log file for more details. You may
> need configuration options.
>
> Provided configuration options:
> --with-opt-dir
> --without-opt-dir
> --with-opt-include
> --without-opt-include=${opt-dir}/include
> --with-opt-lib
> --without-opt-lib=${opt-dir}/lib
> --with-make-prog
> --without-make-prog
> --srcdir=.
> --curdir
> --ruby=/usr/bin/ruby
> --with-ffi_c-dir
> --without-ffi_c-dir
> --with-ffi_c-include
> --without-ffi_c-include=${ffi_c-dir}/include
> --with-ffi_c-lib
> --without-ffi_c-lib=${ffi_c-dir}/
> --with-libffi-config
> --without-libffi-config
> --with-pkg-config
> --without-pkg-config /usr/share/ruby/2.0.0/mkmf.rb:434:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
> You have to install development tools first. from
> /usr/share/ruby/2.0.0/mkmf.rb:565:in `try_cpp' from
> /usr/share/ruby/2.0.0/mkmf.rb:1044:in `block in have_header' from
> /usr/share/ruby/2.0.0/mkmf.rb:895:in `block in checking_for' from
> /usr/share/ruby/2.0.0/mkmf.rb:340:in `block (2 levels) in postpone'
> from /usr/share/ruby/2.0.0/mkmf.rb:310:in `open' from
> /usr/share/ruby/2.0.0/mkmf.rb:340:in `block in postpone' from
> /usr/share/ruby/2.0.0/mkmf.rb:310:in `open' from
> /usr/share/ruby/2.0.0/mkmf.rb:336:in `postpone' from
> /usr/share/ruby/2.0.0/mkmf.rb:894:in `checking_for' from
> /usr/share/ruby/2.0.0/mkmf.rb:1043:in `have_header' from
> extconf.rb:16:in `<main>'
>
> extconf failed, exit code 1
我尝试安装ffi(“gem install ffi”和“gem install ffi --pre”),我收到同样的消息
这是日志(.gem / ruby / extensions / x86_64-cygwin / ffi-1.9.5 / gem_make.out)
package configuration for libffi is not found
"gcc -o conftest.exe -I/usr/include/ruby-2.0.0 -I/usr/include/ruby-2.0.0/ruby/backward -I/usr/include/ruby-2.0.0 -I. -ggdb -O2 -pipe -Wimplicit-function-declaration conftest.c -L. -L/usr/lib -L. -fstack-protector -lruby200 -lpthread -lrt -ldl -lcrypt "
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main(int argc, char **argv)
4: {
5: return 0;
6: }
/* end */
我真的很沮丧!!'
系统Windows 7 64位 Cygwin的
答案 0 :(得分:23)
是的,对我而言,这只是gcc
环境,所以你可以试试
sudo apt-get install gcc
在ubuntu中对我有用:)
答案 1 :(得分:4)
确保已安装xcode。
xcode-select --install
如果已安装,请确保您已接受服务条款。
sudo xcodebuild -license
向下滚动到底部并输入同意。
它应该与上述步骤一起使用。
如果您在执行上述两个步骤后发现以下问题
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/compass
尝试以下。
sudo su
sudo gem install -n /usr/local/bin compass
答案 2 :(得分:2)
在OSX上,这有效:
如果gem install compass
失败,请尝试
gem install ffi
如果也失败了,那么错误似乎是ffi构建在/usr/bin
中查找gcc-4.2
如果您安装了gcc,只需键入
即可在/usr/bin
内创建符号链接
sudo ln -s gcc gcc-4.2
否则您可能需要先安装gcc(google that)
答案 3 :(得分:0)
试试这个:
按照您的ruby版本下载并安装ruby开发套件
http://rubyinstaller.org/downloads/
如有任何问题,请在github上关注此wiki。
https://github.com/oneclick/rubyinstaller/wiki/Development-Kit