【发布时间】:2016-05-12 02:08:28
【问题描述】:
在the official update guide 之后,我最近从 Jekyll 2.x 升级到了 Jekyll 3.1.1。
安装后,运行jekyll serve产生如下错误:
依赖错误:哎呀!您似乎没有安装
jekyll-markdown-block或其依赖项之一。为了使用当前配置的 Jekyll,你需要安装这个 gem。来自 Ruby 的完整错误消息是:“无法激活jekyll-markdown-block-1.1.0,因为jekyll-3.1.1与jekyll (~> 2.0)冲突”如果遇到问题,可以在 http://jekyllrb.com/help/ 找到有用的资源!
所以我从那里sudo gem update jekyll-markdown-block,但错误仍然存在。然后我尝试更新我所有的宝石:
sudo gem update `gem list | cut -d ' ' -f 1`
然后出于绝望,我卸载了 所有我的 gem(除了核心的,我不允许卸载):
sudo gem uninstall `gem list | cut -d ' ' -f 1`
然后我像往常一样继续安装 jekyll(假设我现在从头开始工作):
sudo gem install jekyll
Fetching: liquid-3.0.6.gem (100%)
Successfully installed liquid-3.0.6
Fetching: kramdown-1.9.0.gem (100%)
Successfully installed kramdown-1.9.0
....
Parsing documentation for jekyll-watch-1.3.1
Installing ri documentation for jekyll-watch-1.3.1
Parsing documentation for jekyll-3.1.1
Installing ri documentation for jekyll-3.1.1
14 gems installed
然后安装jekyll-press 和jekyll-markdown-block(一条新的错误消息抱怨我没有它们),然后我收到了抱怨 Jekyll 2.x 的原始错误消息。
如何完全删除 Jekyll 2.x 并完成升级而不会出现 gem 依赖错误?
【问题讨论】:
-
您是否尝试将
jekyll-markdown-block添加到您的jekyll 站点的Gemfile 中? -
尝试使用
bundler构建网站。如果您没有安装它,请从命令行运行gem install bundler。然后,添加一个包含您需要的所有 gem 的 Gemfile。然后,执行bundle install,当捆绑程序将安装所有必需的gem 及其依赖项时。最后,运行bundle exec jekyll serve在本地服务。您可以将标志--watch、--baseurl ""和--safe添加到bundle exec命令。 -
更新:我最终通过转到一个新目录并运行
jekyll init来实现这一点。为这个新创建的站点提供服务,我只是移植了旧站点。我很确定存在导致旧网站崩溃的配置更改。
标签: rubygems jekyll jekyll-extensions