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

Как установить Ruby gems при использовании RVM?

Я установил RVM и использовал его для установки Ruby и нескольких других библиотек. Когда я проходил различные учебные пособия и настройки других технологий, таких как Rails, я начал путаться с тем, что я должен делать с помощью RVM, и что я должен делать, как предлагают учебники.

В качестве примера можно привести учебник RubyGems: http://rubygems.org/pages/download

Должен ли я загрузить этот файл tar, о котором они говорят? Кажется ненужным, так как это то, что я думал о RVM. Мне даже нужны RubyGems? Что это на самом деле?

Также, как я могу получить Rails? Есть ли точная команда RVM для загрузки и установки Rails?

4b9b3361

Ответ 1

Это помогает мне думать о RVM как о слое абстракции между вами и рубиновой экосистемой.

Без RVM: рубины, драгоценные камни и рубиновые двоичные файлы (например, rake, spec, gem и т.д.) устанавливаются непосредственно в ваши каталоги операционной системы.

С RVM: связанный с Ruby материал перехватывается rvm, так что рубины, драгоценные камни и рубины, связанные с бинаре, "установлены" в директорию ~/.rvm красивым, чистым, организованным способом. RVM находится между рубином, драгоценными камнями и соответствующими двоичными файлами и операционной системой. Он предоставляет возможность иметь несколько рубиновых сред (с разными драгоценными камнями и двоичными файлами) на одной машине.

Итак, независимо от того, установлен ли у вас rvm или нет, вы должны иметь возможность запускать команды почти точно (*), как они появляются в любом учебном пособии в Интернете. Другими словами, вы можете "забыть", что установлен RVM; рубиновая экосистема должна работать так, как если бы она не была установлена.

Итак, да, вам нужно запустить gem install rails и т.д.

Надеюсь, что это поможет устранить путаницу.

(*) Существуют небольшие различия. Например: вы не должны запускать команды как sudo при установке RVM.

Ответ 2

Должен ли я загрузить этот файл tar, о котором они говорят?

Нет. Ruby 1.9+ включает драгоценные камни. RVM модифицирует его на 1,8+.

В целом, будьте осторожны с любыми направлениями, которые вы найдете в Интернете, объясняя, как устанавливать что-либо, если у вас недостаточно опыта, чтобы полностью понять, что они хотят от вас делать. В частности, в любое время они хотят, чтобы вы что-то установили с помощью sudo или как root.

В частности, при работе с RVM вы НЕ хотите использовать sudo для установки Ruby, или любого драгоценного камня. RVM работает, создавая изолированную среду для вашей разработки и полагаясь на среду своего аккаунта, изменяя ваш путь, чтобы любые запросы Ruby переходили на выбранный RVM-управляемый Ruby или драгоценные камни или любые команды, которые они устанавливают. sudo подталкивает вашу обычную среду в сторону, временно заменяя root, устанавливает все, что вы просили сделать с правами root, а затем возвращается в вашу среду.

Когда вы идете запустить команду или находите драгоценный камень, как вы, он не может быть найден RVM Ruby, потому что файл был установлен за пределами изолированной среды RVM или его нельзя прочитать или изменить, потому что он принадлежит root. Какова бы ни была фактическая причина, конечным результатом будет плач и скрежет зубов.

RVM не подрывает функциональность gem. gem используется для установки и управления драгоценными камнями Ruby, а RVM настраивает его на использование песочницы для всех своих махинаций. Вы получаете добавленную функциональность из-за поддержки RVM gemset, но gem работает так, как всегда, имеет только "старший брат", RVM, контролирующий свой мир.

Ответ 3

Не нужно устанавливать rubygems. RVM должен был уже установить рубигемы. RVM (на мой взгляд) полезен для управления различными установками рубина (скажем, 1.8.7 и 1.9.2) или разными гемзетами. Если у вас только одна версия рубина и не заботятся о разных гемземах, RVM на самом деле не так сильно меняется. Если вы хотите просто установить рельсы, просто используйте gem install rails. Если у вас есть существующее приложение rails 3, сначала установите bundler gem install bundler, а затем bundle install, чтобы получить рельсы и другие зависимости от gem.