Джекилл сломался после обновления Ubuntu/Ruby
Я использую Jekyll на своем ноутбуке Ubuntu. Сработало с 15.10. Я обновился до 16.04 и получил это сообщение об ошибке:
$ jekyll -v
bash: /usr/local/bin/jekyll : /usr/bin/ruby2.1 : bad interpreter: no file or folder
Вот установленная версия Ruby:
$ ruby -v
ruby 2.3.0p0 (2015-12-25) [i386-linux-gnu]
Я пробовал:
$ gem update jekyll
Updating installed gems
Nothing to update
Как which ruby
возвращается /usr/bin/ruby
Я обновил /usr/local/bin/jekyll
изменения #!/usr/bin/ruby2.1
в #!/usr/bin/ruby
,
Теперь я получаю:
$ jekyll -v
/usr/lib/ruby/2.3.0/rubygems/dependency.rb:319:in 'to_specs': Could not find 'jekyll' (>= 0) among 11 total gem(s) (Gem::LoadError)
Checked in 'GEM_PATH=/home/samuel/.gem/ruby/2.3.0:/var/lib/gems/2.3.0:/usr/lib/i386-linux-gnu/rubygems-integration/2.3.0:/usr/share/rubygems-integration/2.3.0:/usr/share/rubygems-integration/all', execute 'gem env` for more information
from /usr/lib/ruby/2.3.0/rubygems/dependency.rb:328:in 'to_spec'
from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_gem.rb:65:in 'gem'
from /usr/local/bin/jekyll:22:in 'main'
Вот что gem env
возвращает:
$ gem env
RubyGems Environment:
- RUBYGEMS VERSION: 2.5.1
- RUBY VERSION: 2.3.0 (2015-12-25 patchlevel 0) [i386-linux-gnu]
- INSTALLATION DIRECTORY: /var/lib/gems/2.3.0
- USER INSTALLATION DIRECTORY: /home/samuel/.gem/ruby/2.3.0
- RUBY EXECUTABLE: /usr/bin/ruby2.3
- EXECUTABLE DIRECTORY: /usr/local/bin
- SPEC CACHE DIRECTORY: /home/samuel/.gem/specs
- SYSTEM CONFIGURATION DIRECTORY: /etc
- RUBYGEMS PLATFORMS:
- ruby
- x86-linux
- GEM PATHS:
- /var/lib/gems/2.3.0
- /home/samuel/.gem/ruby/2.3.0
- /usr/lib/i386-linux-gnu/rubygems-integration/2.3.0
- /usr/share/rubygems-integration/2.3.0
- /usr/share/rubygems-integration/all
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- https://rubygems.org/
- SHELL PATH:
- /usr/local/sbin
- /usr/local/bin
- /usr/sbin
- /usr/bin
- /sbin
- /bin
- /usr/games
- /usr/local/games
- /snap/bin
1 ответ
Решение
Я была такая же проблема. Это вызвано обновлением ruby в новой Ubuntu. Просто удалите jekyll и установите его снова:
gem uninstall jekyll
gem install jekyll
В дополнение к ответу @Piotr мне также пришлось удалить и переустановить гем bundler
. То есть я побежал,
gem uninstall bundler
gem install bundler
bundle
Только после этого bundle exec jekyll serve
снова начать работать после моего обновления с ubuntu 18.04 до 20.04.