安装包不成功,无法安装 ffi 1.9.9,操作系统为 OSX 10.9。

20
bundle install  
Fetching gem metadata from https://rubygems.org/...........  
Fetching gem metadata from https://rubygems.org/..  
Resolving dependencies...  
Enter your password to install the bundled RubyGems to your system:   
Using addressable (2.3.8)   
Using sass (3.4.15)   
Using sassy-maps (0.4.0)   
Using breakpoint (2.5.0)   
Using chunky_png (1.3.4)   
Using coderay (1.1.0)   
Using multi_json (1.11.1)   
Using compass-core (1.0.3)   
Using compass-import-once (1.0.5)   
Using rb-fsevent (0.9.5)   
Installing ffi (1.9.9)   
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. 
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb mkmf.rb无法在/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/include/ruby.h找到Ruby的头文件。 Gem文件将保留在/Users/Moe/.bundler/tmp/8353/gems/ffi-1.9.9中以备查看。 结果已记录在/Users/Moe/.bundler/tmp/8353/gems/ffi-1.9.9/ext/ffi_c/gem_make.out中。 在打包前,请确保成功执行gem install ffi -v '1.9.9'。安装ffi (1.9.9)时出现错误,Bundler无法继续。

无法完成bundle install,停止并给我以前的错误。 - Mohamed Sobhy
感谢上帝,我能够解决这个问题。 - Mohamed Sobhy
9个回答

31
对于我来说,这个问题是通过运行以下命令解决的:
bundle update ffi

看起来gem的作者在1.13.0版中解决了这些安装问题。


12

感谢上帝,我已经能够解决问题了...

原来问题是需要在系统上安装“命令行工具”[使用:Mac OSX 10.9]其中之一。 我一直认为已经安装了“Xcode”,所以认为“命令行工具”已经捆绑安装在“Xcode”中,实际上是这样的,但我只需要正确配置“Xcode”即可...操作如下:

1.启动“Xcode”....

2.进入“偏好设置”

3.选择“位置”选项卡

4.命令行工具: =选择已经安装在系统上的“Xcode”的版本。[下拉菜单]

5.重新启动“终端”

6.清除“Drush”缓存

    drush cc drush

7.运行:

    gem install ffi -v '1.9.9'

并且它成功了。

    bundle install

还成功了。

请注意:我也重新安装了:

RVM:

    \curl -sSL https://get.rvm.io | bash -s stable

Bundler 1.10.5:

    gem install bundler 

希望这能有所帮助。


2020年 - 必须使用旧的D7 Omega 4主题进行工作。指示完美地起作用。谢谢。 - C13L0

9
可能的罪魁祸首是Xcode路径错误。确保有有效的Xcode,然后先运行这个。
sudo xcode-select --switch /Applications/Xcode.app

你真棒!非常感谢。 - Matt Sephton

2

我已经尝试了很多次搜索,在互联网上安装了许多未知的依赖项,但它们都没有起作用。有趣的是,您可以通过(对于React Native新项目创建)尝试在任何不包含空格名称的文件夹下安装新的React Native项目来解决此问题。


1

我尝试了这里提到的所有方法,但是都没有成功。最终运行以下命令对我有用:

gem install ffi -v '1.15.5' -- --with-cflags="-Wno-error=implicit-function-declaration"


1

1
在我的情况下,安装ffi并没有起作用,我只是简单地将Gemfile中的gem降级:gem 'ffi','1.14.2' - Adrian Escutia Soto

1

运行了一下,然后执行 gem pristine --all - unify

0
检查一下你的根文件夹名称或者它所在的文件夹中是否有空格,如果有的话,请去掉空格然后再试一次。

0
如果在运行命令 npx react-native@latest init AwesomeProject 时遇到错误 "An error occurred while installing ffi (1.15.5), and Bundler cannot continue",请尝试在没有空格的文件夹目录中初始化项目。例如,在“桌面”目录下运行 npx react-native init,该路径通常不会有空格。这应该可以解决问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接