Проблемы с запуском Rails в Ubuntu - PullRequest
0 голосов
/ 05 ноября 2008

Сначала немного фона. Я пытаюсь запустить Community Engine на новой установке Ubuntu. CE - это открытый плагин для социальных сетей, работающий на Rails. Я был в состоянии получить CE и работать на моем окне Windows без проблемы. Я решил использовать Ubuntu 8.10 в качестве среды разработки и застрял в этой проблеме. Я исследовал это за последние пару ночей и все еще застрял.

Что происходит, когда я добираюсь до этого шага инструкции ( найдено здесь ):

  Generate the community engine migrations:

  $ script/generate plugin_migration

Я получаю следующую ошибку:

myuser@compy:~/Projects/MyProject$ script/generate plugin_migration
/home/myuser/Projects/MyProject/config/../vendor/plugins/engines/boot.rb:4: This version of the engines plugin requires Rails 2.1.1 or later! (RuntimeError)
    from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
    from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
    from /home/myuser/Projects/MyProject/config/environment.rb:12
    from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
    from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
    from /home/myuser/Projects/MyProject/vendor/rails/railties/lib/commands/generate.rb:1
    from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
    from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
    from script/generate:3

Вот моя версия ruby:

myuser@compy:~/Projects/MyProject$ ruby -v
ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]

и мои установленные самоцветы:

myuser@compy:~/Projects/MyProject$ gem list

*** LOCAL GEMS ***

actionmailer (2.2.0, 2.1.2, 2.1.1)
actionpack (2.2.0, 2.1.2, 2.1.1)
activerecord (2.2.0, 2.1.2, 2.1.1)
activeresource (2.2.0, 2.1.2, 2.1.1)
activesupport (2.2.0, 2.1.2, 2.1.1)
aws-s3 (0.5.1)
builder (2.1.2)
capistrano (2.5.0)
cgi_multipart_eof_fix (2.5.0)
daemons (1.0.10)
fastthread (1.0.1)
gem_plugin (0.2.3)
haml (2.0.4)
highline (1.4.0)
hpricot (0.6.164)
htmlentities (4.0.0)
mime-types (1.15)
mongrel (1.1.5)
net-scp (1.0.1)
net-sftp (2.0.1)
net-ssh (2.0.4)
net-ssh-gateway (1.0.0)
rails (2.2.0, 2.1.2, 2.1.1)  <--- clearly I have rails 2.1.1 or greater
rake (0.8.3)
RedCloth (4.1.0)
rmagick (2.7.1)
sqlite3-ruby (1.2.4)
xml-simple (1.0.11)

Я получил эту ошибку, когда у меня были только рельсы 2.1.1.

Да, у меня гораздо больше драгоценных камней, чем мне нужно для CE, но, пытаясь отследить это, это то, что я закончил. У меня есть скрытое подозрение, что какая бы проблема ни была, она глупая, и я должен ее поймать. Но в этот момент я очень расстроился из-за того, что было простым процессом на компьютере с XP.

Я задавал этот вопрос в гугл-группе Community Engine, однако у меня есть ощущение, что это больше связано с моей настройкой Ruby и Rails на моей машине, чем с самим CE.

Помощь будет оценена.

Ответы [ 2 ]

5 голосов
/ 05 ноября 2008

«Проблема» не в самом CommunityEngine, а в подключаемом модуле «engine» (http://github.com/lazyatom/engines).

).

глядя на исходный код boot.rb в плагине engine , мы можем видеть, что он просто проверяет стандартные поля Rails :: VERSION, поэтому проблема также не существует.

Теперь, когда вы создаете приложение rails, оно привязывается к конкретной версии, которую вы использовали при первом создании приложения rails . Если на вашей системе установлены рельсы 2.1.1 / 2, это не означает, что они автоматически привыкнут.

Чтобы проверить собственно ваше приложение rails, посмотрите файл config/environment.rb в вашем приложении rails. Вы увидите что-то вроде этого:

# Specifies gem version of Rails to use when vendor/rails is not present
RAILS_GEM_VERSION = '2.1.0' unless defined? RAILS_GEM_VERSION

Если оно меньше 2.1.1, вам нужно обновить приложение rails.
Это довольно просто:

  1. Измените строку RAILS_GEM_VERSION в config/environment.rb на 2.1.1 или выше
  2. пробег rake rails:upgrade

Надеюсь, это решит вашу проблему: -)

2 голосов
/ 06 ноября 2008

Эта проблема возникла из-за того, что мы не использовали sudo для установки направляющих. Я закончил тем, что полностью сдул рубин и переустановил его. Я также обратил более пристальное внимание на вывод различных драгоценных камней, которые мне нужно было установить, чтобы они загружались и работали. Я был удивлен, увидев, что многие из них не смогут загрузить и их нужно было запускать второй или даже третий раз перед установкой.

относительно предложения Ориона, я проверил RAILS_GEM_VERSION, и оно было 2.1.1 или выше. Именно это вызвало наибольшую путаницу в этой проблеме, поскольку в ней говорилось, какая версия нужна, и тогда gem -v покажет мне правильную версию.

...