首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安装bcrypt-ruby时出错

安装bcrypt-ruby时出错
EN

Stack Overflow用户
提问于 2014-08-30 22:58:48
回答 1查看 545关注 0票数 1

我已经运行了命令: gem install bcrypt '3.1.7‘。

不幸的是,gem无法安装。相反,我得到了以下输出:

代码语言:javascript
复制
 Fetching: bcrypt-3.1.7.gem (100%)
Building native extensions.  This could take a while...
ERROR:  Error installing bcrypt-ruby:
        ERROR: Failed to build gem native extension.

    /usr/local/rvm/rubies/ruby-1.8.7-head/bin/ruby extconf.rb
checking for ruby/util.h... yes
creating Makefile

make
gcc -I. -I/usr/local/rvm/rubies/ruby-1.8.7-head/lib/ruby/1.8/x86_64-linux -I/usr/local/rvm/rubies/ruby-1.8.7-head/lib/ruby/1.8/x86_64-linux -I. -DHAVE_RUBY_UTIL_H    -fPIC -O2 -fno-tree
-dce -fno-optimize-sibling-calls  -fPIC   -c crypt.c
gcc -I. -I/usr/local/rvm/rubies/ruby-1.8.7-head/lib/ruby/1.8/x86_64-linux -I/usr/local/rvm/rubies/ruby-1.8.7-head/lib/ruby/1.8/x86_64-linux -I. -DHAVE_RUBY_UTIL_H    -fPIC -O2 -fno-tree
-dce -fno-optimize-sibling-calls  -fPIC   -c crypt_gensalt.c
gcc -I. -I/usr/local/rvm/rubies/ruby-1.8.7-head/lib/ruby/1.8/x86_64-linux -I/usr/local/rvm/rubies/ruby-1.8.7-head/lib/ruby/1.8/x86_64-linux -I. -DHAVE_RUBY_UTIL_H    -fPIC -O2 -fno-tree
-dce -fno-optimize-sibling-calls  -fPIC   -c crypt_blowfish.c
gcc -I. -I/usr/local/rvm/rubies/ruby-1.8.7-head/lib/ruby/1.8/x86_64-linux -I/usr/local/rvm/rubies/ruby-1.8.7-head/lib/ruby/1.8/x86_64-linux -I. -DHAVE_RUBY_UTIL_H    -fPIC -O2 -fno-tree
-dce -fno-optimize-sibling-calls  -fPIC   -c bcrypt_ext.c
gcc -I. -I/usr/local/rvm/rubies/ruby-1.8.7-head/lib/ruby/1.8/x86_64-linux -I/usr/local/rvm/rubies/ruby-1.8.7-head/lib/ruby/1.8/x86_64-linux -I. -DHAVE_RUBY_UTIL_H    -fPIC -O2 -fno-tree
-dce -fno-optimize-sibling-calls  -fPIC   -c wrapper.c
In file included from /usr/include/ruby/util.h:22:0,
                 from wrapper.c:28:
/usr/include/ruby/defines.h:71:7: error: conflicting types for ‘ruby_xmalloc’
 void *xmalloc(size_t);
       ^
In file included from /usr/local/rvm/rubies/ruby-1.8.7-head/lib/ruby/1.8/x86_64-linux/ruby.h:37:0,
                 from wrapper.c:26:
/usr/local/rvm/rubies/ruby-1.8.7-head/lib/ruby/1.8/x86_64-linux/defines.h:49:7: note: previous declaration of ‘ruby_xmalloc’ was here
 void *xmalloc _((long));
       ^
In file included from /usr/include/ruby/util.h:22:0,
                 from wrapper.c:28:
/usr/include/ruby/defines.h:73:7: error: conflicting types for ‘ruby_xcalloc’
 void *xcalloc(size_t,size_t);
       ^
In file included from /usr/local/rvm/rubies/ruby-1.8.7-head/lib/ruby/1.8/x86_64-linux/ruby.h:37:0,
                 from wrapper.c:26:
/usr/local/rvm/rubies/ruby-1.8.7-head/lib/ruby/1.8/x86_64-linux/defines.h:50:7: note: previous declaration of ‘ruby_xcalloc’ was here
 void *xcalloc _((long,long));
       ^
In file included from /usr/include/ruby/util.h:22:0,
                 from wrapper.c:28:
/usr/include/ruby/defines.h:74:7: error: conflicting types for ‘ruby_xrealloc’
 void *xrealloc(void*,size_t);
       ^
In file included from /usr/local/rvm/rubies/ruby-1.8.7-head/lib/ruby/1.8/x86_64-linux/ruby.h:37:0,
                 from wrapper.c:26:
/usr/local/rvm/rubies/ruby-1.8.7-head/lib/ruby/1.8/x86_64-linux/defines.h:51:7: note: previous declaration of ‘ruby_xrealloc’ was here
 void *xrealloc _((void*,long));
       ^
make: *** [wrapper.o] Error 1


Gem files will remain installed in /usr/local/rvm/gems/ruby-1.8.7-head/gems/bcrypt-3.1.7 for inspection.
Results logged to /usr/local/rvm/gems/ruby-1.8.7-head/gems/bcrypt-3.1.7/ext/mri/gem_make.out
ERROR:  Could not find a valid gem '3.1.5' (>= 0) in any repository

这基本上是一个相当虚假的问题,从'make‘未能完成。我发现很多人在安装bcrypt时遇到了问题,但他们使用的建议都没有解决这个特定的问题。

我该如何解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2014-08-30 23:19:02

在仔细查看输出后,我注意到错误列表是成对的。它们看起来像是独立的错误,然而,它们实际上是基于输出中提到的冲突而成对的。每一对都是指两个不同的目录,每个目录对应一个不同的ruby安装。

在删除系统安装的版本(即通过'yum')并保留rvm安装的版本后,然后运行gem install命令,问题就解决了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25583681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档