Установите Rails 3 на OSX с RVM

Попытка установить новую версию Rails 3 на OSX 10.6.

Никогда не касались Ruby или Rails на этой машине после покупки.

Я смог получить rvm и получить Ruby 1.9.2. установлен. Оттуда я застрял.

Я пробовал:

rvmsudo gem install rails -v 3.0.0
sudo gem install rails --pre
sudo gem install rails
sudo gem update rails

И каждый раз получаю ту же ошибку результата:

ERROR:  While executing gem ... (Errno::ENOENT)
    No such file or directory - /Users/kevin/.rvm/gems/[email protected]/cache/activesupport-3.0.0.gem

Если я делаю список драгоценных камней, он говорит ЛОКАЛЬНАЯ ГЕЯ и ничего не перечисляет.

Я прочитал несколько пошаговых руководств, но, честно говоря, ни один из них не решает эту проблему и ее раздражает. Почему это так сложно установить? Хотелось бы узнать об этом, если кто-то может помочь мне запустить его.

Я пытался это сделать:

http://eddorre.com/posts/installing-rails-3-beta-4-using-rvm

и это:

http://hivelogic.com/articles/compiling-ruby-rubygems-and-rails-on-snow-leopard

На самом деле это связано с сайтом руководства ROR. Я пропустил зависимости? Как их получить?

Если я делаю rails -v, я получаю:

rails -v
/Library/Ruby/Site/1.8/rubygems.rb:779:in `report_activate_error': Could not find RubyGem rails (>= 0) (Gem::LoadError)
    from /Library/Ruby/Site/1.8/rubygems.rb:214:in `activate'
    from /Library/Ruby/Site/1.8/rubygems.rb:1082:in `gem'
    from /usr/bin/rails:18

Ответы

Ответ 1

В старых версиях rvm была ошибка, которая может привести к перекрестке ваших рубиновых версий, поскольку ОС может кэшировать исполняемые пути для команды , которая (особенно если вы используете zsh). См. Этот длинный, подробный, умственный пост Иегуды Кац по этому вопросу.

Что я должен был сделать сегодня утром:

rvm update && rvm reload # update rvm
rvm gemset delete rails3 # delete old gemset
rvm install 1.9.2
rvm use 1.9.2
rvm gemset create rails3
rvm use [email protected]
which ruby          # check to be sure the ruby interpretter is properly set to 1.9.2
hash -r             # if ruby interpretter is not pointing to 1.9.2
gem install rails
which rails         # check to be sure we are using rvm version of rails

Примечание. В более новых версиях rvm вам нужно будет использовать rvm get stable вместо rvm update

Ответ 2

Вам не нужно использовать sudo при установке драгоценных камней с rvm. Если вы выполните инструкции здесь, чтобы установить RVM, вы должны просто сделать rvm use 1.9.2; gem install rails --version 3.0.0.

Ответ 3

Вам не нужно указывать версию 3. Если у вас 1.9.2-p0, она автоматически получит рельсы 3, когда вы rvm gem install rails 3. примечание: no sudo. Я думаю, что при использовании sudo он использует установленный системой рубин. Если вы считаете, что вам нужно sudo, используйте rvmsudo.

Вещи, вероятно, были беспорядочными, потому что вы следовали за руководствами, основанными на предварительно стабильном выпуске рельсов, в котором участвовало много других вещей. Если вам нравится, вы можете попробовать удалить rvm и повторить все. Это действительно не так уж сложно.

Помните, что вам нужно 1.9.2, 1.9.1 не будет работать.

curl -O http://rvm.beginrescueend.com/releases/rvm-install-head
sh rvm-install-head
rvm install 1.9.2-p0

# also remember to edit your bash profile and add the required lines

# verify that 1.9.2-p0 shows up there
rvm list

# makes it so you're using it, and sets it as the default
rvm use 1.9.2-p0 --default

# verify this happened. should have => 1.9.2-p0 in the list
rvm list

# verify the version
ruby --version

# should automatically get 3.0
# `rvm gem install` installs it for every single installed ruby version
# in my experience
gem install rails

Когда вы сделали rvm gem install, я думаю, что он устанавливает его для каждой рубиновой версии, которую вы зарегистрировали с помощью rvm (по крайней мере, это произошло в моем опыте), поэтому я полагаю, что он пытался принудительно установить рельсы 3 для более старых рубиновая установка, в которой отсутствовали необходимые драгоценные камни.

Успокойся, не так много команд. Если вам приходится делать "хаки" или обходные пути, то вы делаете это неправильно. К счастью, легко начать все сначала. Чтобы удалить rvm, просто rm -rfv ~/.rvm, а также rm ~/.rvmrc, если он там.

Сообщите мне, как это происходит.

Ответ 4

работает через это сам, как новый пользовательский mac osx blah blah

похоже, что каталог кеша не получается, попробуйте mkdir $HOME/.rvm/gems/cache

настолько хорошо после этого...

Ответ 5

Я столкнулся с той же проблемой (попробовал удалить и установить, как предположил Блаенк)

rvm -v rvm 1.0.2 от Wayne E. Seguin ([email protected]) [http://rvm.beginrescueend.com/]

ruby ​​-v ruby 1.9.2p0 (2010-08-18 версия 29036) [x86_64-darwin10.4.0]

gem установить рельсы ОШИБКА: при выполнении gem... (Errno:: ENOENT) Нет такого файла или каталога -/Users/pragnesh/.rvm/gems/ruby-1.9.2-p0/cache/activesupport-3.0.0.gem

Ответ 6

После выполнения "rvm update & rvm reload" rvm обновился до 1.04 (вместо 1.02, который я получил через рекомендованную установку GIT вчера!?), он работал хорошо.

Ответ 7

Решение работало для меня с несколькими твиками:

Вместо использования rvm update мне пришлось использовать rvm rubygems. Затем, выполнив всю работу из сообщения 2, мне пришлось выполнить bundle install, и я ввел rvm use [email protected] в мой файл .rvmrc. Все теперь работает как шарм, даже при запуске новой оболочки или сеанса терминала. Полный список команд, которые я использовал:

>> NEW >> rvm rubygems
rvm reload                 # update rvm
rvm gemset delete rails3   # delete old gemset
rvm install 1.9.2
rvm use 1.9.2
rvm gemset create rails3
rvm use [email protected]
which ruby                 # check to be sure the ruby interpretter is properly set to 1.9.2
>> DID NOT NEED >> hash -r # if ruby interpretter is not pointing to 1.9.2
gem install rails
which rails                # check to be sure we are using rvm version of rails
>> NEW >> bundle install
>> NEW >> cat 'rvm use [email protected]' > .rvmrc

Ответ 9

Выполнение этого после обновления и перезагрузки rvm для меня:

rm -rf .bundle && bundle install