ruby - gem 安装失败,显示 "ruby: invalid option -H (-h will show valid options) (RuntimeError)"

标签 ruby gem installation rvm native

在 OSX Mountain lion 上运行 gem install ffi 会产生以下错误。

gem install ffi
Building native extensions.  This could take a while...
ERROR:  Error installing ffi:
    ERROR: Failed to build gem native extension.

    /beweiche.rvm/rubies/ruby-1.9.3-p374/bin/ruby extconf.rb
/beweiche.rvm/rubies/ruby-1.9.3-p374/bin/ruby: invalid option -H  (-h will show valid options) (RuntimeError)


Gem files will remain installed in /beweiche.rvm/gems/ruby-1.9.3-p374@hugo/gems/ffi-1.8.1 for inspection.

任何 native 扩展都会发生这种情况。 使用系统 ruby​​ (1.8.7) 我可以安装带有 native 扩展的 gems。它甚至适用于 1.9.3。但是在执行了“安装的 gem 更新”之后,我卡住了。

在我的机器上安装的 gem:

bundler (1.2.3)
coderay (1.0.9)
diff-lcs (1.2.4)
graph (2.5.2)
method_source (0.8.1)
pry (0.9.12.1)
rake (10.0.3)
rspec (2.13.0)
rspec-core (2.13.1)
rspec-expectations (2.13.0)
rspec-mocks (2.13.1)
rubygems-bundler (1.1.0)
rvm (1.11.3.6)
slop (3.4.4)

这似乎是某个地方的愚蠢拼写错误,但我找不到地方。

非常感谢任何提示。

与此同时,我已经在我的 rvm 中安装了 ruby​​ 2.0.0-rc1。使用此设置,我可以安装带有 native 扩展的 gem。我将 gems 升级到 1.9.3 中与 2.0.0 中相同的版本,但问题仍然存在。

最佳答案

你使用自制软件吗?如果是这样,请尝试在运行 bundle 之前通过 brew install libffi 安装 ffi。

为什么要运行 gem update installed?您应该让 Bundler 为您处理更新:bundlebundle update gem_xyz。如果你想添加一个新的 gem,只需将它添加到 Gemfile。

我假设当您更新所有 gem 时,其中一个已更新为依赖于 FFI。您可以通过在 Gemfile.lock 中搜索 ffi 来验证这一点。一旦您看到哪个 gem 依赖于它,您就可以决定是将该 gem 修复到 Gemfile 中的早期版本,并完全摆脱依赖性,还是继续安装 lib。

关于ruby - gem 安装失败,显示 "ruby: invalid option -H (-h will show valid options) (RuntimeError)",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16921462/

相关文章:

ruby - Mechanize 获取文件而不是页面对象

reporting-services - 将文件从 x86 msi 安装到 x64 "Program Files"

ruby-on-rails - 在 Rails 中使用哈希数组进行分页?

javascript - @import 不适用于 Rails 项目中的 "application.css.scss"文件,仅适用于 "application.css"

ruby-on-rails - gem install sqlite3 给出错误 - sqlite3.h 丢失

ruby - 如何在 10.10 Yosemite 上安装 therubyracer gem?

gem - 在任何来源中都找不到 i18n-0.6.0

python - anaconda 的 xgboost 安装问题

php - 在ubuntu中安装eclipse php

ruby-on-rails - 如何使用 Rails 控制特定文件的 max-age?