2012-03-05 204 views
0

一切正常,直到我运行bundle install命令,在从服务器执行更新(更新的文件与Gemfile没有任何关系,或与宝石相关的任何内容)之后,使用SVN。安装bcrypt-ruby gem时出现的安装包错误

注意:我运行的是Ruby 1.8.7-p358,并且我已经在这个项目上运行了几个月,没有任何问题。

当我运行该命令我得到的错误是:

Installing bcrypt-ruby (3.0.1) with native extensions 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. 

     /home/brian/.rvm/rubies/ruby-1.8.7-p358/bin/ruby extconf.rb 
creating Makefile 

make 
Makefile:128: warning: overriding commands for target `/home/brian/Projects/DB' 
Makefile:122: warning: ignoring old commands for target `/home/brian/Projects/DB' 
gcc -I. -I/home/brian/.rvm/rubies/ruby-1.8.7-p358/lib/ruby/1.8/i686-linux -I/home/brian/.rvm/rubies/ruby-1.8.7-p358/lib/ruby/1.8/i686-linux -I. -D_FILE_OFFSET_BITS=64 -fPIC -g -O2 -fPIC -c crypt_blowfish.c 
gcc -I. -I/home/brian/.rvm/rubies/ruby-1.8.7-p358/lib/ruby/1.8/i686-linux -I/home/brian/.rvm/rubies/ruby-1.8.7-p358/lib/ruby/1.8/i686-linux -I. -D_FILE_OFFSET_BITS=64 -fPIC -g -O2 -fPIC -c wrapper.c 
gcc -I. -I/home/brian/.rvm/rubies/ruby-1.8.7-p358/lib/ruby/1.8/i686-linux -I/home/brian/.rvm/rubies/ruby-1.8.7-p358/lib/ruby/1.8/i686-linux -I. -D_FILE_OFFSET_BITS=64 -fPIC -g -O2 -fPIC -c crypt_gensalt.c 
gcc -I. -I/home/brian/.rvm/rubies/ruby-1.8.7-p358/lib/ruby/1.8/i686-linux -I/home/brian/.rvm/rubies/ruby-1.8.7-p358/lib/ruby/1.8/i686-linux -I. -D_FILE_OFFSET_BITS=64 -fPIC -g -O2 -fPIC -c crypt.c 
gcc -I. -I/home/brian/.rvm/rubies/ruby-1.8.7-p358/lib/ruby/1.8/i686-linux -I/home/brian/.rvm/rubies/ruby-1.8.7-p358/lib/ruby/1.8/i686-linux -I. -D_FILE_OFFSET_BITS=64 -fPIC -g -O2 -fPIC -c bcrypt_ext.c 
gcc -shared -o bcrypt_ext.so crypt_blowfish.o wrapper.o crypt_gensalt.o crypt.o bcrypt_ext.o -L. -L/home/brian/.rvm/rubies/ruby-1.8.7-p358/lib -Wl,-R/home/brian/.rvm/rubies/ruby-1.8.7-p358/lib -L. -rdynamic -Wl,-export-dynamic -Wl,-R -Wl,/home/brian/.rvm/rubies/ruby-1.8.7-p358/lib -L/home/brian/.rvm/rubies/ruby-1.8.7-p358/lib -lruby -lrt -ldl -lcrypt -lm -lc 

make install 
Makefile:128: warning: overriding commands for target `/home/brian/Projects/DB' 
Makefile:122: warning: ignoring old commands for target `/home/brian/Projects/DB' 
mkdir -p /home/brian/Projects/DB 
mkdir -p Soft/ClienteHabitue/Commerce/src/commerce/vendor/bundle/ruby/1.8/gems/bcrypt-ruby-3.0.1/lib 
/usr/bin/install -c -m 0755 bcrypt_ext.so /home/brian/Projects/DB Soft/ClienteHabitue/Commerce/src/commerce/vendor/bundle/ruby/1.8/gems/bcrypt-ruby-3.0.1/lib 
/usr/bin/install: omitting directory `/home/brian/Projects/DB' 
make: *** [Soft/ClienteHabitue/Commerce/src/commerce/vendor/bundle/ruby/1.8/gems/bcrypt-ruby-3.0.1/lib/bcrypt_ext.so] Error 1 


Gem files will remain installed in /home/brian/Projects/DB Soft/ClienteHabitue/Commerce/src/commerce/vendor/bundle/ruby/1.8/gems/bcrypt-ruby-3.0.1 for inspection. 
Results logged to /home/brian/Projects/DB Soft/ClienteHabitue/Commerce/src/commerce/vendor/bundle/ruby/1.8/gems/bcrypt-ruby-3.0.1/ext/mri/gem_make.out 
An error occured while installing bcrypt-ruby (3.0.1), and Bundler cannot continue. 
Make sure that `gem install bcrypt-ruby -v '3.0.1'` succeeds before bundling. 

我GOOGLE了,也试过在论坛上进行搜索,但我没有发现,实际工作的答案我。

请问有谁能告诉我发生了什么事以及如何解决它?

谢谢!

+0

是什么'创业板安装bcrypt-红宝石-v“3.0.1''在错误的方式提供? – ScottJShea 2012-03-05 21:40:42

+0

什么都没有。它安装没有问题,但捆绑安装命令保持失败... – 2012-03-06 01:09:22

回答

0

看来你还没有安装开发套件。您需要先安装ruby开发工具包,然后安装Bcrypt ruby​​ gem。

sudo apt-get install ruby1.8-dev 

然后

bundle install 
+0

似乎我已经安​​装,因为当我运行该命令时,我得到以下内容:正在读取软件包列表...完成 构建依赖关系树 读取状态信息...完成 ruby​​1.8-dev已经是最新版本。 0升级,0新安装,0删除和190未升级。 – 2012-03-06 13:40:48

+0

在你的gemfile文件中? – 2012-03-06 14:01:40

+0

也许你需要重新安装rvm,然后安装ruby1.8-dev软件包,然后安装bcrypt ruby​​ – 2012-03-06 14:03:26