我尝试更新 Jekyll,但现在遇到了问题。幸运的是,我仍然可以使用 构建我的网站bundle exec jekyll serve
,但是当我运行时,jekyll serve
我得到以下信息:
Traceback (most recent call last):
10: from /Users/jon.graft/.rbenv/versions/2.6.3/bin/jekyll:23:in `<main>'
9: from /Users/jon.graft/.rbenv/versions/2.6.3/bin/jekyll:23:in `load'
8: from /Users/jon.graft/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/jekyll-4.0.0/exe/jekyll:11:in `<top (required)>'
7: from /Users/jon.graft/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/jekyll-4.0.0/lib/jekyll/plugin_manager.rb:52:in `require_from_bundler'
6: from /Users/jon.graft/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler.rb:107:in `setup'
5: from /Users/jon.graft/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/runtime.rb:26:in `setup'
4: from /Users/jon.graft/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/runtime.rb:26:in `map'
3: from /Users/jon.graft/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/spec_set.rb:148:in `each'
2: from /Users/jon.graft/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/spec_set.rb:148:in `each'
1: from /Users/jon.graft/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/runtime.rb:31:in `block in setup'
/Users/jon.graft/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/runtime.rb:319:in `check_for_activated_spec!': You have already activated i18n 1.6.0, but your Gemfile requires i18n 0.9.5. Prepending `bundle exec` to your command may solve this. (Gem::LoadError)
Run Code Online (Sandbox Code Playgroud)
出了什么问题以及如何解决这个问题?我越来越多地与 Jekyll 合作,所以我想了解为什么会发生这种情况,以便在再次发生这种情况时我可以修复/避免它。
您的 Gemfile 需要 0.95 版的软件包i18n
,但您已经安装了 0.95 版的软件包1.6.0
。这就是为什么您需要在命令前面添加bundle exec
,以便bundle 可以完成其工作并将包的正确版本转发给 Jekyll。这是正常现象,无需担心。我建议编写一个脚本来让 Jekyll 提供服务或构建,这样您就不必输入这么多。例如, my serve.sh
,它甚至为本地服务使用不同的配置:
bundler exec jekyll serve --config config.dev.yml --host 10.10.10.1 --incremental
Run Code Online (Sandbox Code Playgroud)
或者,您可以编辑Gemfile.lock
并尝试将版本更改i18n
为 1.6.0。我刚刚尝试过,效果很好,但是安装后消息可能相关:
HEADS UP! i18n 1.1 changed fallbacks to exclude default locale.
But that may break your application.
Please check your Rails app for 'config.i18n.fallbacks = true'.
If you're using I18n (>= 1.1.0) and Rails (< 5.2.2), this should be
'config.i18n.fallbacks = [I18n.default_locale]'.
If not, fallbacks will be broken in your app by I18n 1.1.x.
Run Code Online (Sandbox Code Playgroud)
因此,如果您使用 Jekyll 构建多语言网络,请务必牢记是否出现错误或异常错误。
归档时间: |
|
查看次数: |
4154 次 |
最近记录: |