gpt4 book ai didi

ruby-on-rails - 捆绑抛出错误 Gem::Installer::ExtensionBuildError: ERROR: with Mavericks and ruby​​ 2.0

转载 作者:数据小太阳 更新时间:2023-10-29 08:04:21 25 4
gpt4 key购买 nike

当我从 1.8.7 应用程序运行 bundle 时出现以下错误。我刚刚升级到 Mavericks 并正在使用 rbenv。

我已经尝试过的事情:

1) 卸载并重新安装 rbenv 和 ruby​​-build

2) 删除目录并重新克隆

3) 使用 xcode-select --install 安装 x-code cli

4) brew 安装 apple-gcc42

5) 删除根 ruby​​ 文件 (2.0) 并替换为 1.8

6) brew unlink apple-gcc42

以上都没有奏效。

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb
checking for re.h... no
creating Makefile

make "DESTDIR="
compiling parser.c
parser.rl:165:20: error: expected '(' after 'if'
if RTEST(rb_funcall(klass, i_json_creatable_p, 0)) {
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0/ruby/ruby.h:445:18: note: expanded from macro 'RTEST'
#define RTEST(v) !(((VALUE)(v) & ~Qnil) == 0)
^
1 error generated.
make: *** [parser.o] Error 1


Gem files will remain installed in /Users/ryan/C2/c2/vendor/bundle/gems/json-1.4.6 for inspection.
Results logged to /Users/ryan/C2/c2/vendor/bundle/gems/json-1.4.6/ext/json/ext/parser/gem_make.out
An error occurred while installing json (1.4.6), and Bundler cannot continue.
Make sure that `gem install json -v '1.4.6'` succeeds before bundling.

最佳答案

当我将一个旧的 Ruby 1.9.3 项目更改为 Ruby 2.2.0 并尝试捆绑时,我得到了类似的东西。

我收到类似 parser.rl:139:20: error: expected '(' after 'if'"and "accept.c:128:2: error: use未声明的标识符“TRAP_BEG”

修复是升级构建失败的 gem:bundle update json kgio 在我的例子中,其中 json gem 然后kgio gem 构建失败。

如果您在 Gemfile 中锁定了有问题的 gem 的版本,您可能也想解锁它们。例如。将 gem "json", "1.1.6" 更改为 gem "json"。当然,您当然应该确保您一开始就知道它被锁定的原因

当您执行 bundle 时,它会尝试安装/构建 Gemfile.lock 中列出的 gem 版本。这些将是您之前在 Ruby 1.8.7 上安装的版本,在我的情况下是 1.9.3。我猜这些 gem 版本已经足够老了,它们根本无法为更新的 Ruby 编译。

关于ruby-on-rails - 捆绑抛出错误 Gem::Installer::ExtensionBuildError: ERROR: with Mavericks and ruby​​ 2.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22101080/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com