捆绑安装失败安装ffi(由于env命令错误?)

时间:2012-04-30 01:40:13

标签: ruby-on-rails linux macos install bundle

我的软件包安装无法在我的mac上安装ffi,即使已经安装了ffi gem(正确的版本1.0.11)。运行“bundle install”时出现以下错误:

 Installing ffi (1.0.11) with native extensions
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
... 
creating Makefile

make
Configuring libffi for i386
env: --disable-static: No such file or directory
make[1]: *** No targets specified and no makefile found.  Stop.
Configuring libffi for x86_64
env: --disable-static: No such file or directory
make[1]: *** No targets specified and no makefile found.  Stop.
make: *** ["/mypath/clients/myapp/rails=2.3.5/ruby/1.8/gems/ffi-1.0.11/ext/ffi_c/libffi"/.libs/libffi_convenience.a] Error 2
An error occured while installing ffi (1.0.11), and Bundler cannot continue.
Make sure that `gem install ffi -v '1.0.11'` succeeds before bundling.

我试过

gem install ffi -v '1.0.11'
这很好。 然后我查看失败的Makefile并运行
make -n 
看看发生了什么。原来,该命令的make失败了:

 cd "/mypath/clients/myapp/rails=2.3.5/ruby/1.8/gems/ffi-1.0.11/ext/ffi_c"/libffi-$arch && env CC=" gcc" CFLAGS="-arch $arch " LDFLAGS="-arch $arch" "/mypath/clients/myapp/rails=2.3.5/ruby/1.8/gems/ffi-1.0.11/ext/ffi_c/libffi"/configure --disable-static --with-pic=yes --disable-dependency-tracking --host=$arch-apple-darwin > /dev/null;

具体而言,它失败了

env CC=" gcc" CFLAGS="-arch $arch " LDFLAGS="-arch $arch" "/mypath/clients/myapp/rails=2.3.5/ruby/1.8/gems/ffi-1.0.11/ext/ffi_c/libffi"/configure --disable-static --with-pic=yes --disable-dependency-tracking --host=$arch-apple-darwin > /dev/null; 

显然env命令认为部分

"/mypath/clients/myapp/rails=2.3.5/ruby/1.8/gems/ffi-1.0.11/ext/ffi_c/libffi"/configure
是设置环境变量,因为路径包含“=”。如果我手动将“=”更改为“_”,则env命令可以正常工作。但是,此路径是由“bundle install”自动生成的,并且它一直在工作。

我刚试过

 bundle install --path=rails_2.3.5 
并且它经历了。但我仍然想知道过去如何使用rails = 2.3.5。

那是因为我不小心改变了我的mac上的一些设置吗?我可以让env认识到引号中的“=”不适用于环境变量吗?

非常感谢。

2 个答案:

答案 0 :(得分:2)

我也遇到了这个问题,当时我清理了我安装的所有宝石,而不是再做捆绑,它正在工作。

我不确定它是否适合您,但您仍然可以尝试。

答案 1 :(得分:1)

我有同样的问题(Mac OS X Lion)。 就我而言,在升级到Mac OS X Lion之后,我丢失了我的gcc命令行工具。

这是如何安装命令行工具; 1.安装Xcode 4 2.Xcode - >偏好 - >下载标签 - >命令行工具

安装完成后,我的案子解决了。