【发布时间】:2020-04-19 22:45:04
【问题描述】:
我在 jekyll 中有我的网站。一切正常,直到我做了一些事情(不确定是什么)并且安装失败了。
我已经在 Ubuntu WSL 和 Windows 原生 ruby 上尝试过这个,问题是一样的。我可以很好地安装宝石。并且 jekyll 运行正常,但是如果我在其他目录中添加 gemfile 并再次运行 jekyll(bundle exec jekyll -v 甚至 jekyll -v 在该文件夹中),jekyll 运行良好,如果我删除 Gemfile,jekyll 也会运行。
错误是:
bundle exec jekyll -v
Traceback (most recent call last):
23: from C:/tools/ruby26/bin/jekyll:23:in `<main>'
22: from C:/tools/ruby26/bin/jekyll:23:in `load'
21: from C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/jekyll-4.0.0/exe/jekyll:11:in `<top (required)>'
20: from C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/jekyll-4.0.0/lib/jekyll/plugin_manager.rb:53:in `require_from_bundler'
19: from C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/bundler-2.1.2/lib/bundler.rb:174:in `require'
18: from C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/bundler-2.1.2/lib/bundler/runtime.rb:58:in `require'
17: from C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/bundler-2.1.2/lib/bundler/runtime.rb:58:in `each'
16: from C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/bundler-2.1.2/lib/bundler/runtime.rb:69:in `block in require' 15: from C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/bundler-2.1.2/lib/bundler/runtime.rb:69:in `each'
14: from C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/bundler-2.1.2/lib/bundler/runtime.rb:74:in `block (2 levels) in require'
13: from C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/bundler-2.1.2/lib/bundler/runtime.rb:74:in `require'
12: from C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/jekyll-thumb-0.2.1/lib/jekyll-thumb.rb:1:in `<top (required)>' 11: from C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/jekyll-thumb-0.2.1/lib/jekyll-thumb.rb:1:in `require'
10: from C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/jekyll-thumb-0.2.1/lib/jekyll/thumb.rb:2:in `<top (required)>' 9: from C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/jekyll-thumb-0.2.1/lib/jekyll/thumb.rb:2:in `require'
8: from C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/jekyll-thumb-0.2.1/lib/jekyll/thumb/tag.rb:1:in `<top (required)>'
7: from C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/jekyll-thumb-0.2.1/lib/jekyll/thumb/tag.rb:1:in `require' 6: from C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/ruby-vips-2.0.16/lib/ruby-vips.rb:1:in `<top (required)>' 5: from C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/ruby-vips-2.0.16/lib/ruby-vips.rb:1:in `require'
4: from C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/ruby-vips-2.0.16/lib/vips.rb:36:in `<top (required)>'
3: from C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/ruby-vips-2.0.16/lib/vips.rb:45:in `<module:GLib>'
2: from C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/ffi-1.11.3-x64-mingw32/lib/ffi/library.rb:99:in `ffi_lib' 1: from C:/tools/ruby26/lib/ruby/gems/2.6.0/gems/ffi-1.11.3-x64-mingw32/lib/ffi/library.rb:99:in `map'
block in ffi_lib: Could not (LoadError) 'libglib-2.0-0.dll': Not found
(除了 libglib-2.0-0.so 之外,在 WSL 上完全一样)
我的 gemfile 是这样的:
source "https://rubygems.org"
# If you have any plugins, put them here!
group :jekyll_plugins do
gem "jekyll-paginate-v2"
gem "jekyll-sitemap"
gem "jekyll-org"
gem "jekyll-thumb"
gem "flickraw"
end
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
根据我得出的结论,提供 Gemfile 时 jekyll 的版本(或它的依赖项)在某种程度上已损坏,但是当我查看捆绑程序的输出时,它是手动安装的全局 gem。我什至尝试将 libglib-2.0-0.dll 放入 system32 目录。
包的版本:
ruby: 2.6.5 [x64-mingw32]
bundler: 2.1.2
gem: 3.0.3
jekyll: 4.0.0
【问题讨论】:
标签: ruby rubygems jekyll bundler