Я использую Ubuntu 9.10. Я начинаю с ruby on rails development и хочу убедиться, что моя система обновлена.

Это то, что я узнал до сих пор:

$ which ruby
/usr/bin/ruby

$ ruby -v
ruby 1.8.7 (2009-06-12 patchlevel 174) [i486-linux]

$ which gem
/usr/bin/gem

$ gem -v
1.0.1

$ which rails
/usr/bin/rails

$ rails -v
Rails 2.2.2

$ gem install sqlite3-ruby
Bulk updating Gem source index for: http://gems.rubyforge.org
ERROR:  could not find sqlite3-ruby locally or in a repository

Решение:

Ruby 1.8.7 является текущей версией. Моя версия RubyGems должна быть обновлена. Рельс тоже. Мне нужно будет обновить RubyGems, прежде чем я смогу обновить Rails.

Из руководства пользователя RubyGems:

Если ваша версия RubyGems 0.8.5 или новее, вы можете обновить ее до последней версии с помощью:

sudo gem update --system

Если ваша текущая версия RubyGems старше, чем версия 0.8.5, или вы видите сообщение «Ничего не обновлять», когда вы пробовали gem update --system , используйте следующие команды:

sudo gem install rubygems-update
sudo update_rubygems 

Теперь, когда RubyGems обновлен, мы можем обновить Rails. Чтобы обновить Rails, как и все другие гемы, используйте следующую команду:

sudo gem update

Чтобы увидеть, какие Gems вы установили, вы можете запустить эту команду:

gem list --local

Чтобы установить новый Gem или узнать, какие Gems доступны для установки, см. Эту страницу руководства RubyGems.

3 ответа3

3

Ваша версия ruby хороша, 1.9 все еще немного экспериментальна, и есть ряд библиотек, которые еще не совсем с ней работают.

Вы также захотите обновить сам ruby gems, и, увидев достаточно старую версию, вы захотите использовать эти две команды:

sudo gem install rubygems-update
sudo update_rubygems

Который должен установить ruby gems версии 1.3.5, тогда будущие обновления можно сделать с помощью

sudo gem update --system

Вы также можете обновить все установленные гемы с помощью:

sudo gem update
1

Во-первых, вам нужно запустить gem от имени пользователя root при установке новых гемов. Во-вторых, вам нужно добавить параметр -r при первом запуске этой команды, чтобы указать, что вы устанавливаете из удаленного репозитория.

$ sudo gem install sqlite3-ruby -r

Обратите внимание, что этот гем также доступен в виде пакета Ubuntu:

$ sudo aptitude install libsqlite3-ruby

Используйте первые, если вам нужны (последние версии) гемы, которые не доступны в виде пакетов.

Чтобы поддерживать пакеты Ubuntu в актуальном состоянии, используйте диспетчер обновлений Ubuntu или любой другой метод, который вы используете для обновления другого программного обеспечения.

0

Установите Ruby Version Manager!

Шутки в сторону! Я хотел бы сделать это раньше. Ruby Version Manager позволяет запускать несколько версий Ruby, каждая из которых имеет свой собственный набор гемов, и переключаться между различными версиями, по-видимому, просто. Кроме того, вам больше не придется использовать sudo . Плюс, у него есть отличная документация. Кроме того, его очень легко установить, так что вы должны это сделать!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .