【发布时间】:2011-04-08 14:46:32
【问题描述】:
我设置了一个本地项目以使用 rvm,并使用特定于项目的 gemset,并执行“捆绑包”以将我所有的 gem 放入供应商/缓存中。然后我把它全部检查到源代码管理中。
现在,在服务器上,我安装了 rvm(相同的 ruby - ruby-1.8.7-p302)并再次制作了 gemset。我检查了项目文件夹,将其放入其中(此时我在正确的 rvm 和 gemset 中)。我以为我可以从供应商/缓存中的 gem 进行“捆绑安装”安装。但 RedCloth 宝石正在倒塌:
Using rake (0.8.7)
Installing RedCloth (4.2.3) with native extensions
/opt/ruby-enterprise-1.8.7-2011.01/lib/ruby/site_ruby/1.8/rubygems/installer.rb:529:in
`build_extensions': ERROR: Failed to build gem native extension.
(Gem::Installer::ExtensionBuildError)
/opt/ruby-enterprise-1.8.7-2011.01/bin/ruby extconf.rb
Gem files will remain installed in
/home/deploy/.rvm/gems/ruby-1.8.7-p302@akrotoski/gems/RedCloth-4.2.3 for inspection.
到目前为止,这是我所拥有的“宝石清单”:
*** LOCAL GEMS ***
bundler (1.0.11)
rake (0.8.7)
RedCloth (4.2.7)
这很奇怪 - 尽管它在尝试构建 RedCloth 时失败了,但它认为它已安装。
同样奇怪的是,错误消息指的是 ruby 的“系统”版本,而不是当前 rvm 的版本。当前的rvm肯定是激活的:
rvm list
>> rvm rubies
>> => ruby-1.8.7-p302 [ x86_64 ]
which ruby
>> /home/deploy/.rvm/rubies/ruby-1.8.7-p302/bin/ruby
which gem
>> /home/deploy/.rvm/rubies/ruby-1.8.7-p302/bin/gem
此时我很困惑...一个潜在的问题可能是在我的本地机器(32 位)中我有 ruby-1.8.7-p302 的 i386 版本,而在我的服务器上我有x86_64 版本 - 这会导致这个问题吗?
感谢任何建议 - 最大
【问题讨论】:
标签: ruby rubygems gem rvm bundler