【问题标题】:Bundle install errors and cannot continue, even after installing missing gems捆绑安装错误并且无法继续,即使安装了缺少的 gem
【发布时间】:2021-07-02 19:00:53
【问题描述】:

我正在开发多个 Ruby on Rails 应用程序并正在运行... macOS 10.15.7, 红宝石 2.6.5, 轨道 5.2.3,

在项目应用程序目录中,我尝试运行 bundle install 并收到以下错误:

An error occurred while installing jaro_winkler (1.5.3), and Bundler cannot continue.
Make sure that `gem install jaro_winkler -v '1.5.3' --source
'https://.../api/gems/rubygems/'` succeeds before bundling.

我继续从指定来源安装 gem 并获得安装确认

Building native extensions. This could take a while...
Successfully installed jaro_winkler-1.5.3
Parsing documentation for jaro_winkler-1.5.3
Done installing documentation for jaro_winkler after 0 seconds
1 gem installed

再次运行bundle install后,我会得到原来的错误

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory:
/private/var/folders/yr/dw4ljvv14cl9vp76jt_6zqrsv1qhkf/T/bundler20210406-62421-1bm7o1ijaro_winkler-1.5.3/gems/jaro_winkler-1.5.3/ext/jaro_winkler
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby -I
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0 -r
./siteconf20210406-62421-10txxc5.rb extconf.rb
creating Makefile

current directory:
/private/var/folders/yr/dw4ljvv14cl9vp76jt_6zqrsv1qhkf/T/bundler20210406-62421-1bm7o1ijaro_winkler-1.5.3/gems/jaro_winkler-1.5.3/ext/jaro_winkler
make "DESTDIR=" clean

current directory:
/private/var/folders/yr/dw4ljvv14cl9vp76jt_6zqrsv1qhkf/T/bundler20210406-62421-1bm7o1ijaro_winkler-1.5.3/gems/jaro_winkler-1.5.3/ext/jaro_winkler
make "DESTDIR="
make: *** No rule to make target
`/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/universal-darwin19/ruby/config.h',
needed by `adj_matrix.o'.  Stop.

make failed, exit code 2

Gem files will remain installed in
/var/folders/yr/dw4ljvv14cl9vp76jt_6zqrsv1qhkf/T/bundler20210406-62421-1bm7o1ijaro_winkler-1.5.3/gems/jaro_winkler-1.5.3
for inspection.
Results logged to
/var/folders/yr/dw4ljvv14cl9vp76jt_6zqrsv1qhkf/T/bundler20210406-62421-1bm7o1ijaro_winkler-1.5.3/extensions/universal-darwin-19/2.6.0/jaro_winkler-1.5.3/gem_make.out

An error occurred while installing jaro_winkler (1.5.3), and Bundler cannot continue.
Make sure that `gem install jaro_winkler -v '1.5.3' --source
'https://.../api/gems/rubygems/'` succeeds before bundling.

上面的错误信息没有给我任何明确的指示。此外,在消息显示“结果记录到”的位置还有no such directory

这似乎发生在多个应用程序目录中 - 但每个目录中受影响的 gem 不同。它们的相似之处在于错误读取“确保gem在捆绑之前成功”,然后gem安装将成功,然后以下bundle install将失败并显示相同的原始消息。

今天早些时候,我通过xcode-select --install 进行了干净的 Ruby 2.6.5 安装并更新了 Xcode CLI

如果我运行 gem which jaro_winkler 我会得到

/Users/{username}/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/jaro_winkler-1.5.3/lib/jaro_winkler.rb

有没有人知道是什么原因造成的?如果不发生这种情况,我不能做任何bundle install。如果需要更多信息,请告诉我。 谢谢!

【问题讨论】:

    标签: ruby-on-rails ruby rubygems bundler


    【解决方案1】:

    您提到您正在使用 ruby​​ 2.6.5,但 gem 正在尝试安装在 2.6.0 中。检查您的 Gemfile 中是否包含正确的 Ruby 版本。

    当您运行gem which 时,看起来您正在使用rbenv。确保您也在其中使用正确的 Ruby 版本。这些红宝石安装在与 xcode 不同的目录中。有时目录中有一个.rbenv 文件,它也会设置版本。

    只是一些想法。希望有什么坚持。

    【讨论】:

    • 您好,感谢您的评论!我最终解决了这个问题 - 尽管它不在 Ruby 2.6.5 和 2.6.0 之间,但你是正确的存在版本控制问题
    【解决方案2】:

    最终成为 gem 安装位置的问题 - export PATH="/usr/local/bin:$PATH" 之前已添加到我的 .bash_profile 中,这会影响 gem 的安装位置。

    在错误消息/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby 的某处提到 - 这是 Ruby 的“系统默认”Mac 版本,而不是我打算与 .rbenv ( 2.6.5 ) 和 gem 安装一起使用的 Ruby 版本。

    删除上述导出有助于解决问题。

    编辑措辞

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-01
      • 1970-01-01
      • 2015-11-29
      • 2016-01-11
      • 1970-01-01
      • 1970-01-01
      • 2011-12-11
      相关资源
      最近更新 更多