【问题标题】:Bundler installed but errors out saying it is not installedBundler 已安装但错误提示未安装
【发布时间】:2021-12-06 16:31:08
【问题描述】:

我正在使用 RVM,目前我正在使用 ruby​​ 2.7.4

rvm current
ruby-2.7.4

我默认安装了 bundler -v 2.2.26

gem install bundler -v2.2.26 --default
gem info bundler
*** LOCAL GEMS ***

bundler (2.2.26)
    Authors: André Arko, Samuel Giddins, Colby Swandale, Hiroshi
    Shibata, David Rodríguez, Grey Baker, Stephanie Morillo, Chris
    Morris, James Wen, Tim Moore, André Medeiros, Jessica Lynn Suttles,
    Terence Lee, Carl Lerche, Yehuda Katz
    Homepage: https://bundler.io
    License: MIT
    Installed at (default): /Users/jedrek/.rvm/rubies/ruby-2.7.4/lib/ruby/gems/2.7.0

当我检查宝石的位置时,它不存在。

ls /Users/jedrek/.rvm/rubies/ruby-2.7.4/lib/ruby/gems/2.7.0/gems
# no bundler gem

当我尝试在我的项目中 bundle 我的 gem 时出现错误

Traceback (most recent call last):
    3: from /Users/jedrek/.rvm/gems/ruby-2.7.4/bin/ruby_executable_hooks:22:in `<main>'
    2: from /Users/jedrek/.rvm/gems/ruby-2.7.4/bin/ruby_executable_hooks:22:in `eval'
    1: from /Users/jedrek/.rvm/gems/ruby-2.7.4/bin/bundle:23:in `<main>'
/Users/jedrek/.rvm/gems/ruby-2.7.4/bin/bundle:23:in `load': cannot load such file -- /Users/jedrek/.rvm/rubies/ruby-2.7.4/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/exe/bundle (LoadError)

我的宝石在哪里?怎么回事?

【问题讨论】:

  • gem list bundler 的输出是什么?
  • 我在互联网上发现你可以做gem install bundler:2.2.26,现在它可以工作了。很混乱。我仍然不明白为什么它以前不起作用。 ``` gem list bundler *** LOCAL GEMS *** bundler (default: 2.2.27, 2.2.24, 2.1.4, 1.17.3, 1.14.0) ``
  • 使用任何一种语法安装 gem 版本都没有区别。我的猜测是你有多个项目使用不同的版本,也许你正在切换并没有按预期工作。您可能想尝试 gemsets 或 chruby。请参阅下面的答案。

标签: ruby rubygems bundler


【解决方案1】:

根据您的系统上是否有多个项目,在使用 RVM 时,您可能需要查看using gem sets,因为这有助于在项目之间切换时使用正确的版本。但是,如果您不在乎,可以尝试卸载 gem,然后重新安装您想要的版本。

gem uninstall bundler # should uninstall all versions besides

#either of these two work the same
gem install bundler:2.2.26 
gem install bundler -v2.2.26

就我个人而言,很久以前我从使用 RVM 切换到 Chruby,并且遇到的问题要少得多,例如您在此处描述的问题。

【讨论】:

  • 谢谢。语法确实有所不同,因为我尝试使用 -v 选项进行安装,但它不起作用。我安装了 : 语法并且它有效。不过,我不知道为什么。
  • @jedi 您使用的是过时的 ruby​​ 版本吗?请参阅this answer 以供参考:语法适用于 1.9+,但在 2.x 中仍受支持
  • 我正在使用 ruby​​ 2.7.4 和 RVM
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-11
  • 1970-01-01
  • 2023-03-24
  • 2021-08-21
  • 2010-12-29
  • 1970-01-01
相关资源
最近更新 更多