Подтвердить что ты не робот

Ошибка установки рельсов на Ubuntu 10.04

Я пытаюсь установить рельсы на Ubuntu 10.04. До сих пор я выполнил следующие команды:

apt-get install build-essential libapache2-mod-passenger apache2 rubygems ruby1.8-dev libopenssl-ruby
gem install fastthread
gem install rails

Fastthread легко устанавливается. Однако при попытке установить рельсы результат:

ERROR:  Error installing rails:
    bundler requires RubyGems version >= 1.3.6

Итак, я попробовал gem -v, который вернул 1.3.5.

Как обновить rubygems? apt-get не будет устанавливаться выше 1.3.5. И gem update --system приводит к:

ERROR:  While executing gem ... (RuntimeError)
    gem update --system is disabled on Debian. RubyGems can be updated using the official Debian repositories by aptitude or apt-get.

Так что прямо сейчас я просто не могу установить рельсы, потому что мне нужна более новая версия rubygems, и ubuntu не позволит мне обновлять текущую версию rubygems.

В качестве побочного примечания я попытался установить рельсы через apt-get install rails, который, казалось, работал, но я не вижу rails в качестве драгоценного камня, когда я набираю gem list. Что с этим связано?

Другое примечание: результатом gem list является:

*** LOCAL GEMS ***

abstract (1.0.0)
actionmailer (3.0.1, 3.0.0)
actionpack (3.0.1, 3.0.0)
activemodel (3.0.1, 3.0.0)
activerecord (3.0.1, 3.0.0)
activeresource (3.0.1, 3.0.0)
activesupport (3.0.1, 3.0.0)
arel (2.0.1, 1.0.1)
builder (2.1.2)
erubis (2.6.6)
fastthread (1.0.7)
i18n (0.4.2)
mail (2.2.9)
mime-types (1.16)
mysql (2.8.1)
polyglot (0.3.1)
rack (1.2.1)
rack-mount (0.6.13)
rack-test (0.5.6)
railties (3.0.1, 3.0.0)
rake (0.8.7)
rubygems-update (1.3.7)
thor (0.14.4)
treetop (1.4.8)
tzinfo (0.3.23)

Я предполагаю, что установка рельсов через apt-get устанавливает эти драгоценные камни? Перед установкой рельсов через apt-get у меня были только mysql и fastthread.

4b9b3361

Ответ 1

Вам нужно вручную установить rubygems 1.3.7 (wget с сайта, извлечь, запустить setup.rb).

Ответ 2

Существует также драгоценный камень, который обрабатывает обновление

sudo gem install rubygems-update
sudo /var/lib/gems/1.8/bin/update_rubygems

Ответ 3

Установите rvm и возьмите управление своей рубиновой средой.

http://rvm.io/

Ответ 4

Это может быть более новый способ сделать это, чего раньше не было, но я побежал

sudo gem update --system

и это дало мне последнюю версию.

Ответ 5

По какой-то причине пакет Debian/Ubuntu Ruby не включает библиотеку RubyGems. Даже в худшем случае RubyGems был включен в Ruby 1.9.x, но если вы попытаетесь установить его с помощью apt-get, менеджер пакетов заставит вас установить их как два отдельных пакета.

Пакет Debian/Ubuntu RubyGems устарел, как вы заметили, и чтобы сделать вещи еще более сложными, вы не можете обновить упакованную версию RubyGems, просто установив новую версию RubyGems поверх нее, потому что система исправлена, чтобы предотвратить вас для выполнения задачи, как вы это делали.

Мое предложение состоит в том, чтобы избежать использования версии Ubuntu/Debian. Альтернативы:

  • для системы разработки используйте RVM
  • для производственного сервера, установите Ruby из источника. Если вы хотите, чтобы Ruby < 1.9 вы можете использовать версию Ruby Enterprise, которая также доступна как пакет Debian/Ubuntu. Если вы хотите Ruby 1.9.x, скомпилируйте его из источника.