Ruby 中的捆绑包 gem 加载错误

Bundle gem load error in Ruby

在从头开始学习 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>'

网络中多次提及错误,但 answers/suggestions 中普遍缺乏一致性。

我继续

  1. apt-get --purge autoremove ruby
  2. 已删除/var/lib/gems/
  3. apt-get install ruby
  4. apt-get install ruby-dev
  5. 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)
...

运行 ubuntu 16.04.

试试这个 $ gem update --system 2.7.4

Kalpeshdav 的回答,指定版本号,似乎在很多情况下都有效,并且在 github 等周围的各个地方被推荐

但是我 运行 遇到过几次它不起作用的情况。我的情况基本上是 运行 在不同目录中设置不同的 jekyll 站点以及其他静态站点应用程序,如 Hugo 和 https://github.com/slatedocs/slate,它们也基于 Ruby 和 Bundle/Bundler .

在最近的情况下,我在 运行 'bundle exec jekyll serve' 和 'bundle install' 时都收到此错误消息。我尝试删除并重新安装捆绑器并更新 gem,但对我来说都不起作用。然后我意识到我的本地 Gemfile.lock 文件以某种方式决定了我的捆绑命令是如何 运行ning 的。所以我将 Gemfile.lock 移动到直接和重新 运行 捆绑安装之外的备份位置。那行得通,我随后能够 运行 'bundle exec jekyll serve'.

有时与该特定版本捆绑在一起的 Gemfile.lock 需要该版本。我打开 Gemfile.lock 并将 BUNDLED WITH version 设置为我更新的捆绑器,一切顺利。

在我的案例中,混合安装版本是根本原因。重新安装捆绑器有帮助。

  • 卸载所有版本

gem uninstall bundler

  • 重新安装最新版本

gem install bundler