Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
gem安装失败,出现“错误”;ruby:无效选项-H(-H将显示有效选项)(RuntimeError)";_Ruby_Gem_Installation_Rvm_Native - Fatal编程技术网

gem安装失败,出现“错误”;ruby:无效选项-H(-H将显示有效选项)(RuntimeError)";

gem安装失败,出现“错误”;ruby:无效选项-H(-H将显示有效选项)(RuntimeError)";,ruby,gem,installation,rvm,native,Ruby,Gem,Installation,Rvm,Native,在OSX Mountain lion上运行gem安装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

在OSX Mountain lion上运行gem安装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.
任何本机扩展都会发生这种情况。 使用系统ruby(1.8.7),我可以安装带有本机扩展的gems。它甚至适用于1.9.3。但在“安装了gem更新”之后,我被卡住了

在我的机器上安装了gems:

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。使用此设置,我可以安装带有本机扩展的gems。我在1.9.3版中将gems升级到了与2.0.0版相同的版本,但问题仍然存在。

您使用的是
自制版吗?如果是,请在运行
bundle
之前,尝试通过
brew安装libffi
安装ffi

为什么要运行安装的
gem update
?您应该让Bundler为您处理更新:
bundle
bundle update gem_xyz
。如果您想添加一个新的gem,只需将其添加到gem文件中即可


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

/beweiche.rvm
正确吗?是的,这是正确的。它软链接到/Volumes/Macintosh HD/Users/beweiche/.rvm/,以避免路径中出现空格。我从未在我的机器上使用过自制软件。我会再试一次,如果不行,我会在这里再问一个问题。但是谢谢bundler的提示。