2016-09-16 3 views
4

Я пытаюсь построить сайт jekyll с командой jekyll build. Когда я запускаю команду, я получаю следующую ошибку:Ошибка Jekyll Build

/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. Дайте мне знать, если есть какая-либо другая информация, необходимая для ответа на вопрос!

ответ

4

Я закончил тем, что понял это. Видимо, мне не хватало среду javascript. Шаги:

  1. sudo rm -r Gemfile.lock
  2. nano Gemfile. Добавить gem 'therubyracer'. Сохранить и выйти
  3. bundle install
  4. bundle exec jekyll build

Эта проблема решена, для меня!

2

Я столкнулся с тем же вопросом. Это происходит, если у вас нет инициализированных зависимостей bundler и jekyll.

Чтобы это исправить,

  1. Перейти в корневой каталог, содержащий ваши Джекилл файлы
  2. Run jekyll new . --force. Это будет инициализировать текущую папку с пакетирования и Джекил зависимостей
  3. Теперь запустите сервер с помощью bundler exec jekyll serve

jekyll new . --force работает как git init для нового репозитория Git. См. documentation для получения дополнительной информации

Смежные вопросы