Ruby中的捆绑包gem加载错误

rur96b6h  于 2022-12-26  发布在  Ruby
关注(0)|答案(4)|浏览(201)

在从头开始学习Jekyll/Ruby的时候,我尝试为Jekyll安装一个theme,我搞砸了一些事情。现在每当我执行bundle时,我都会收到一个错误消息。有人知道如何修复吗?

$ bundle -v
/usr/local/bin/bundle:23:in `load': cannot load such file -- 
/usr/lib/ruby/gems/2.3.0/gems/bundler-1.16.1/exe/bundle (LoadError)
    from /usr/local/bin/bundle:23:in `<main>'

网络上有很多人提到这个错误,但在回答/建议上也普遍缺乏一致性。
我继续

  1. apt-get --purge autoremove ruby
    1.已擦除/var/lib/gems/
  2. apt-get install ruby
  3. apt-get install ruby-dev
  4. gem install jekyll
    但问题仍然存在。
    这个问题是否可能与this类似,具有类似的解决方案?
    一些相关信息:
$ ruby -v
ruby 2.3.1p112 (2016-04-26) [x86_64-linux-gnu]
$ gem list
*** LOCAL GEMS ***
...
bundler (default: 1.16.1)
...

运行ubuntu16.04.

p4tfgftt

p4tfgftt1#

在我的情况下,混合安装的版本是根本原因。重新安装bundler有帮助。
1.卸载所有版本:

gem uninstall bundler

1.重新安装最新版本:

gem install bundler
vsdwdz23

vsdwdz232#

试试这个$ gem update --system 2.7.4

jexiocij

jexiocij3#

有时与特定版本绑定的Gemfile.Lock需要这个版本。我打开了那个Gemfile.Lock,并将Bundled WITH Version设置为我更新的Bundler,就可以开始了。

5vf7fwbs

5vf7fwbs4#

Kalpeshdav的答案是指定版本号,这似乎在很多情况下都有效,并且在github等的很多地方都被推荐使用。
但是我也遇到过几次这种方法不起作用的情况,我的情况基本上是我在不同的目录下运行不同的jekyll站点,以及其他静态站点应用程序,如Hugo和https://github.com/slatedocs/slate,它们也是基于Ruby和Bundle/Bundler的。
在最近的情况下,我在运行“bundle exec jekyll service”和“bundle install”时都收到了此错误消息。我尝试删除并重新安装bundler并更新gem,然后我意识到不知何故我的本地Gemfile.lock文件决定了我的bundle命令是如何运行的.所以我把Gemfile.lock移到了一个备份位置,而不是直接运行bundle安装.这一招奏效了,随后我就可以运行“bundle exec jekyll service”了。

相关问题