Jekyll 构建错误

Jekyll Build error

我正在尝试使用命令 jekyll build 构建一个 jekyll 站点。当我 运行 命令时,出现以下错误:

    /usr/local/share/ruby/gems/2.0/gems/bundler-1.13.1/lib/bundler/rubygems_ext.rb:45:in `full_gem_path': uninitialized constant Bundler::Plugin::API::Source (NameError)
    from /usr/share/ruby/vendor_ruby/2.0/rubygems/specification.rb:1393:in `contains_requirable_file?'
    from /usr/share/ruby/vendor_ruby/2.0/rubygems/core_ext/kernel_require.rb:68:in `block in require'
    from /usr/share/ruby/vendor_ruby/2.0/rubygems/specification.rb:823:in `block in each'
    from /usr/share/ruby/vendor_ruby/2.0/rubygems/specification.rb:822:in `each'
    from /usr/share/ruby/vendor_ruby/2.0/rubygems/specification.rb:822:in `each'
    from /usr/share/ruby/vendor_ruby/2.0/rubygems/core_ext/kernel_require.rb:67:in `find'
    from /usr/share/ruby/vendor_ruby/2.0/rubygems/core_ext/kernel_require.rb:67:in `require'
    from /usr/local/share/ruby/gems/2.0/gems/bundler-1.13.1/lib/bundler/plugin/api/source.rb:2:in `<top (required)>'
    from /usr/local/share/ruby/gems/2.0/gems/bundler-1.13.1/lib/bundler/rubygems_ext.rb:45:in `full_gem_path'
    from /usr/share/ruby/vendor_ruby/2.0/rubygems/specification.rb:1393:in `contains_requirable_file?'
    from /usr/share/ruby/vendor_ruby/2.0/rubygems/core_ext/kernel_require.rb:68:in `block in require'
    from /usr/share/ruby/vendor_ruby/2.0/rubygems/specification.rb:823:in `block in each'
    from /usr/share/ruby/vendor_ruby/2.0/rubygems/specification.rb:822:in `each'
    from /usr/share/ruby/vendor_ruby/2.0/rubygems/specification.rb:822:in `each'
    from /usr/share/ruby/vendor_ruby/2.0/rubygems/core_ext/kernel_require.rb:67:in `find'
    from /usr/share/ruby/vendor_ruby/2.0/rubygems/core_ext/kernel_require.rb:67:in `require'
    from /usr/local/share/ruby/gems/2.0/gems/bundler-1.13.1/lib/bundler.rb:11:in `<top (required)>'
    from /usr/share/ruby/vendor_ruby/2.0/rubygems/core_ext/kernel_require.rb:135:in `require'
    from /usr/share/ruby/vendor_ruby/2.0/rubygems/core_ext/kernel_require.rb:135:in `rescue in require'
    from /usr/share/ruby/vendor_ruby/2.0/rubygems/core_ext/kernel_require.rb:144:in `require'
    from /usr/local/share/ruby/gems/2.0/gems/jekyll-3.2.1/lib/jekyll/plugin_manager.rb:34:in `require_from_bundler'
    from /usr/local/share/ruby/gems/2.0/gems/jekyll-3.2.1/exe/jekyll:9:in `<top (required)>'
    from /usr/local/bin/jekyll:23:in `load'
    from /usr/local/bin/jekyll:23:in `<main>'

我是运行宁Ruby 2.2 版。我的服务器是 Amazon Linux AMI。让我知道是否需要任何其他信息来回答这个问题!

我终于弄明白了。显然我缺少 javascript 环境。步骤:

  1. sudo rm -r Gemfile.lock
  2. nano Gemfile。添加gem 'therubyracer'。保存退出
  3. bundle install
  4. bundle exec jekyll build

这解决了我的问题!

我运行进入同样的问题。当您还没有初始化 bundler 和 jekyll 依赖项时,就会发生这种情况。

要解决此问题,

  1. 转到包含你的 jekyll 文件的根目录
  2. 运行jekyll new . --force。这将使用 bundler 和 jekyll 依赖项初始化当前文件夹
  3. 现在运行服务器使用bundler exec jekyll serve

jekyll new . --force 对于新的 git 存储库,其工作方式与 git init 类似。有关详细信息,请参阅 documentation