如何解决捆绑程序LoadError

时间:2019-06-27 12:46:55

标签: ruby-on-rails ruby rvm bundler

我正在使用rvm并运行Ruby 2.6.1,并使用rails 5.2.2。当我尝试bundler -v时 我收到错误消息:

Traceback (most recent call last):
    3: from /home/amairu/.rvm/gems/ruby-2.6.1@rails522/bin/ruby_executable_hooks:24:in `<main>'
    2: from /home/amairu/.rvm/gems/ruby-2.6.1@rails522/bin/ruby_executable_hooks:24:in `eval'
    1: from /home/amairu/.rvm/gems/ruby-2.6.1@rails522/bin/bundler:23:in `<main>'
/home/amairu/.rvm/gems/ruby-2.6.1@rails522/bin/bundler:23:in `load': cannot load such file -- /home/amairu/.rvm/rubies/ruby-2.6.1/lib/ruby/gems/2.6.0/gems/bundler-1.17.3/exe/bundler (LoadError)

gem list bundler返回:

*** LOCAL GEMS ***

bundler (2.0.2, default: 1.17.3, 1.17.2)
bundler-unload (1.0.2)
rubygems-bundler (1.4.5)

似乎正在尝试在/home/amairu/.rvm/rubies/ruby-2.6.1/lib/ruby/gems/2.6.0/gems/bundler-1.17.3/exe/文件夹中查找名为“ bundler”的文件,但没有此类文件。所需文件位于另一个文件夹中:

ls /home/amairu/.rvm/rubies/ruby-2.6.1/lib/ruby/gems/2.6.0/gems/bundler-1.17.2/exe/

> bundler

如何设置bundler -v命令进入bundler-1.17.2/exe instead of the bundler-1.17.3/exe的范围?换句话说,我需要将默认捆绑器版本设置为1.17.2而不是1.17.3 我已经跑了:

gem uninstall bundler
gem install bundler
bundle install

哪个安装成功,但仍然显示bundler -v错误。 类似的帖子建议重新安装Rails gem install rails -v 5.2.2,但这不能解决我的问题。

1 个答案:

答案 0 :(得分:0)

您可以尝试通过卸载

版本的捆绑程序来进行尝试
gem uninstall bundler -v 2.0.2
gem uninstall bundler -v 1.17.3
gem uninstall bundler -v 1.17.2

然后查看已卸载捆绑软件的gem列表

gem list bundler

如果将其卸载,则可以再次安装捆绑器版本

gem install bundler -v 1.17.2

或者如果未卸载,则可能是捆绑包gem在默认的宝石集中,因此您可以使用默认的宝石集,然后尝试卸载,然后再次安装1.17.2

rvm gemset use default
gem uninstall bundler -v 2.0.2
gem uninstall bundler -v 1.17.3
gem uninstall bundler -v 1.17.2
gem install bundler -v 1.17.2