Я только что обновил свою Ubuntu с 9.10 до 10.04, до обновления все было хорошо, но после обновления я больше не могу запускать скрипт/консоль.

Loading development environment (Rails 2.3.10)
/usr/local/lib/site_ruby/1.9.1/rubygems.rb:779:in 
`report_activate_error':Gem::LoadError: RubyGem version error: 
rails(2.3.4 not = 2.3.10)

/usr/lib/ruby/1.9.1/irb/init.rb:264:in `require':LoadError: no such file 
to load -- console_app
/usr/lib/ruby/1.9.1/irb/init.rb:264:in `require':LoadError: no such file 
to load -- console_with_helpers
# gem -v
1.5.2
# ruby -v
ruby 1.9.2p0 (2010-08-18 revision 29036) [i686-linux]
# rails -v
Rails 2.3.10

Гугл пока не особо помог :(

Обновление: попробовав несколько вариантов, я обновился до 10.10 и теперь получаю следующие ошибки.

$ ruby -v
ruby 1.9.2p0 (2010-08-18 revision 29036) [i686-linux]
$ gem -v
1.6.2
$ rails -v
Rails 2.3.10

$ gem environment
RubyGems Environment:
  - RUBYGEMS VERSION: 1.6.2
  - RUBY VERSION: 1.9.2 (2010-08-18 patchlevel 0) [i686-linux]
  - INSTALLATION DIRECTORY: /usr/local/lib/ruby/gems/1.9.1
  - RUBY EXECUTABLE: /usr/local/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/local/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-linux
  - GEM PATHS:
     - /usr/local/lib/ruby/gems/1.9.1
     - /home/recmend/.gem/ruby/1.9.1
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/
$ whereis ruby
ruby: /usr/bin/ruby1.8 /usr/bin/ruby /usr/lib/ruby /usr/local/bin/ruby /usr/local/lib/ruby /usr/share/man/man1/ruby.1.gz
$ whereis gem
gem: /usr/bin/gem /usr/local/bin/gem

$ script/console 
Loading development environment (Rails 2.3.10)
/usr/local/lib/site_ruby/1.9.1/rubygems/source_index.rb:68:in `installed_spec_directories': undefined method `path' for Gem:Module (NoMethodError)
    from /usr/local/lib/site_ruby/1.9.1/rubygems/source_index.rb:58:in `from_installed_gems'
    from /usr/local/lib/site_ruby/1.9.1/rubygems.rb:883:in `source_index'

Переходим к следующей проблеме...

3
Anshu 10 Мар 2011 в 07:45
Похоже, вы пытаетесь запустить приложение с использованием Rails версии 2.3.10, но у вас установлена ​​версия Rails 2.3.4. Вы пытались запустить gem install rails --version 2.3.10 или изменить свой gemfile, чтобы использовать то, что вы установили в настоящее время (2.3.4)?
 – 
davidcelis
10 Мар 2011 в 07:55
# список gem -d rails *** LOCAL GEMS *** rails (2.3.10, 2.3.5) Автор: Дэвид Хайнемайер Ханссон Rubyforge: rubyforge.org/projects/rails Домашняя страница: rubyonrails.org Установлено по адресу ( 2.3.10): /usr/local/lib/ruby/gems/1.9.1 (2.3.5): /usr/local/lib/ruby/gems/1.9.1 Нужно ли обновлять файл gem? Моя среда также имеет 2.3.10
 – 
Anshu
10 Мар 2011 в 07:58
@Anshu: у вас есть версия Rails в каталоге vendor/rails вашего приложения?
 – 
Ryan Bigg
10 Мар 2011 в 08:15
$ ls vendor/ plugins Ничего похожего на вендор/рельсы... Странно, незадолго до обновления до 10.04 все работало нормально. Теперь с этой ошибкой.
 – 
Anshu
10 Мар 2011 в 09:13
Не могли бы вы запустить gem environment и опубликовать результаты здесь? Я видел несколько двоичных файлов ruby, установленных с разными местоположениями драгоценных камней, и иногда Rails путается. Также попробуйте запустить /usr/bin/env ruby -v и посмотрите, отличается ли он от ruby -v.
 – 
aNoble
10 Мар 2011 в 10:35

1 ответ

Проблема в ваших версиях Rubies. Понимаете:

$ ruby -v
ruby 1.9.2p0 (2010-08-18 revision 29036) [i686-linux]

Но
Загрузка среды разработки (Rails 2.3.10) /usr/local/lib/site_ruby/1.9.1/rubygems.rb:779:in

Пытается загрузить 1.9.1 со всеми его жемчужинами.

Что вы можете сделать здесь.

  1. which ruby вернет ваш каталог Ruby 1.9.2
  2. добавьте его в свой PATH export PATH=/your/ruby1.9.2/dir/bin:$PATH

Наслаждаться :)

1
fl00r 27 Мар 2011 в 21:40