Посты по тегу: ruby

Ruby и ошибка InvalidByteSequenceError

Столкнулся вот на виртуальных машинах LXC с проблемой, когда запуск приложения не удается с ошибкой типа:

:in `read': "\xD0" on US-ASCII (Encoding::InvalidByteSequenceError)

Лечится очень просто. Нужно добавить в /etc/environment:

LC_TYPE=en_US.UTF-8

Потом создать локаль:

$ sudo locale-gen en_US.UTF-8

И перезайти.

Падение сервера Chef после обновления системных rubygems

Столкнулся вот на работе с такой проблемой - после перезагрузки виртуалки с Chef-server этот самый Chef не запустился. Грязно выругался на меня:

  • Starting chef-server /usr/lib/ruby/1.8/rubygems/remote_fetcher.rb:14: uninitialized constant Gem::UserInteraction (NameError)
    from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in gem_original_require' from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:inrequire'
    from /usr/lib/ruby/1.8/rubygems/spec_fetcher.rb:4
    from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in gem_original_require' from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:inrequire'
    from /usr/lib/ruby/vendor_ruby/chef/provider/package/rubygems.rb:32
    from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in gem_original_require' from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:inrequire'
    from /usr/lib/ruby/vendor_ruby/chef/providers.rb:60
    from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in gem_original_require' from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:inrequire'
    from /usr/lib/ruby/vendor_ruby/chef.rb:25
    from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in gem_original_require' from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:inrequire'
    from /usr/sbin/chef-server:40

В результате я получил не работающий сервер шефа.

Как оказалось все дело в том, что я обновил в системе rubygems до 1.8. После этого все и случилось. Правда вылечить удалось тоже достаточно просто и быстро:

$ sudo gem update --system 1.3.7

После этого можно стартовать chef-server и chef-server-webui.