【问题标题】:Bundle install failed installing ffi (due to env command error?)Bundle install 安装 ffi 失败(由于 env 命令错误?)
【发布时间】:2012-04-30 01:40:13
【问题描述】:

即使 ffi gem(正确的版本 1.0.11)安装得很好,我的包安装也无法在我的 Mac 上安装 ffi。运行“捆绑安装”时出现以下错误:

使用本机扩展安装 ffi (1.0.11) Gem::Installer::ExtensionBuildError: 错误: 无法构建 gem 原生扩展。 ... 创建 Makefile 制作 为 i386 配置 libffi env: --disable-static: 没有这样的文件或目录 make[1]: *** 没有指定目标,也没有找到 makefile。停止。 为 x86_64 配置 libffi env: --disable-static: 没有这样的文件或目录 make[1]: *** 没有指定目标,也没有找到 makefile。停止。 make: *** ["/mypath/clients/myapp/rails=2.3.5/ruby/1.8/gems/ffi-1.0.11/ext/ffi_c/libffi"/.libs/libffi_convenience.a] 错误2 安装 ffi (1.0.11) 时出错,Bundler 无法继续。 在捆绑之前确保 `gem install ffi -v '1.0.11'` 成功。

我试过了

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 " LDFLAGS="-arch $arch" "/mypath/clients/myapp/rails=2.3.5/ruby/1.8/gems/ffi-1.0.11/ext/ffi_c/libffi"/configure --disable-静态 --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 认识到引号中的“=”不适用于环境变量吗?

非常感谢。

【问题讨论】:

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


    【解决方案1】:

    我也遇到了这个问题,当时我清理了所有已安装的 gem,然后再次打包,它正在工作。

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

    【讨论】:

      【解决方案2】:

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

      这是安装命令行工具的方法; 1.安装Xcode 4 2.Xcode -> 首选项 -> 下载选项卡 -> 命令行工具

      安装后,我的情况就解决了。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-07
      • 1970-01-01
      • 2023-03-05
      • 2020-09-12
      • 1970-01-01
      • 2013-07-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多