当我尝试安装黄瓜0.93时会触发此错误。 我需要安装这个特定的版本。
trabajo@fernando-Inspiron-1545:~/cucumber-rspec$ gem install cucumber -v 0.9.3
Building native extensions. This could take a while...
ERROR: Error installing cucumber:
ERROR: Failed to build gem native extension.
/home/trabajo/.rvm/rubies/ruby-1.8.7-p334/bin/ruby extconf.rb
checking for main() in -lc... yes
creating Makefile
make
gcc -I. -I. -I/home/trabajo/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/1.8/i686-linux -I. -D_FILE_OFFSET_BITS=64 -fPIC -g -O2 -fPIC -O0 -Wall -Werror -c gherkin_lexer_ar.c
/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/ar.c.rl: En la función ‘CLexer_scan’:
/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/ar.c.rl:199:29: error: la comparación siempre se evalúa como ‘true’ para la dirección de ‘raise_lexer_error’ que nunca será NULL [-Werror=address]
/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/ar.c.rl:199:29: error: la comparación siempre se evalúa como ‘true’ para la dirección de ‘raise_lexer_error’ que nunca será NULL [-Werror=address]
cc1: all warnings being treated as errors
make: *** [gherkin_lexer_ar.o] Error 1
答案 0 :(得分:1)
I had the same issues, thanks to user2707671 I did
sudo yum install ruby-devel
and the ran
gem install cucumber
答案 1 :(得分:0)
问题是你的gcc版本正在发出警告(并将其视为错误,这会破坏编译)旧版本的gcc没有发出警告。您可以通过以下几种方式解决此问题:
使用较旧的gcc。 (我不确切知道哪些版本可以使用;你必须进行实验。)
将小黄瓜宝石分叉并将其更改为不使用-Werror标志。几年前,当我被困在一个旧的黄瓜上并在this blog post中描述它时,我使用了这种方法。简言之:
rake gems:posix
引用Gemfile中的fork:
gem 'gherkin', '1.0.30', :git => 'git@github.com:fandor/gherkin.git', :branch => 'v1.0.30-no-Werror'
如果我分叉的小黄瓜与你的黄瓜兼容,你甚至可以使用我的叉子。
答案 2 :(得分:0)
这个命令解决了我的问题:
sudo apt-get install ruby1.9.1-dev
见相关答案: