在从头开始学习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>'
网络上有很多人提到这个错误,但在回答/建议上也普遍缺乏一致性。
我继续
apt-get --purge autoremove ruby
1.已擦除/var/lib/gems/
apt-get install ruby
apt-get install ruby-dev
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.
4条答案
按热度按时间p4tfgftt1#
在我的情况下,混合安装的版本是根本原因。重新安装bundler有帮助。
1.卸载所有版本:
1.重新安装最新版本:
vsdwdz232#
试试这个
$ gem update --system 2.7.4
jexiocij3#
有时与特定版本绑定的Gemfile.Lock需要这个版本。我打开了那个Gemfile.Lock,并将Bundled WITH Version设置为我更新的Bundler,就可以开始了。
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”了。