2010-09-06 3 views
14

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

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

Я смог получить 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 

Если я список драгоценных камней, он говорит МЕСТНЫЕ GEMS и ничего не перечислить.

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

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

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 
+0

Какая у вас версия рубигем? ($ gem -v) – raidfive

+0

RubyGems Версия 1.3.7 – Kevin

ответ

27

Старые версии РВМ была ошибка, которая может привести к версии вашего рубин, чтобы получить crosswired, потому что операционная система может кэшировать исполняемые пути для которые команды (в частности, если вы используете zsh). См. Этот длинный, подробный, mind blowing post от Yehuda Katz по этому вопросу.

То, что я должен был сделать это утром:

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 get stable вместо rvm update

+0

СПАСИБО !!!!!!!! Это сработало и заняло около 10 минут! – Kevin

+0

Спасибо, что это сработало для меня тоже –

+0

Даже если это сработало, я должен запускать rvm use 1.9.2 и rvm использовать [email protected] каждый раз, когда я запускаю терминал. Есть ли способ заменить базовую версию OSX версии Ruby на версии 1.9.2 и Rails? – Kevin

2

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

+0

Я попробую. Он сказал, что 1.9.2-p0 не найден и сделать rvm install ruby-1.9.2-p0. Запустив это сейчас. – Kevin

+1

Точная точная ошибка. Я обновил свой вопрос с ошибкой, которую я получаю от rails -v. – Kevin

+0

Путь выполняемой команды Rails находится в/Library. Если RVM установлены правильно, это будет в /Users/user/.rvm/.Я подозреваю, что вы не добавили строку в ваш файл .profile, иначе что-то пошло не так. Я предлагаю вам полностью избавиться от RVM полностью (rm -rf ~/.rvm), а также любые другие Rubies, которые вы установили, и попробуйте установить его в соответствии с инструкциями. – AboutRuby

2

Вам не нужно указывать версию 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, я думаю, что он устанавливает его для каждой рубиновой версии вы регистрировали с РВМ (по крайней мере, это случилось в моем опыте), так что мое предположение, что он пытается заставить установить рельсы 3 для старая рубиновая установка, в которой отсутствовали необходимые драгоценные камни.

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

Сообщите мне, как это.

+0

Как удалить RVM? – Kevin

+0

Просто как rm -rfv ~/.rvm, :) также может захотеть удалить ~/.rvmrc, если он есть –

+0

Gotcha. Это сделал трюк. – Kevin

1

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

РВМ -v RVM 1.0.2 Уэйн Э. Сеген ([email protected]) [http://rvm.beginrescueend.com/]

рубин -v рубин 1.9.2p0 (2010-08-18 ревизии 29036) [x86_64-darwin10.4.0]

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

+0

Это то, что я получаю, независимо от того, как я его устанавливаю. – Kevin

2

работает через это себя как новый пользователь Mac OSX бла-бла

кажется каталог кэша не получает сделали, попробуйте MkDir $ HOME/.rvm/драгоценные камни/кэш

до сих пор так хорошо, что после того, как ...

+0

Работал и для меня. –

1

После этого «обновления РВМ & & РВМ перезарядку» rvm обновлен до 1.04 (вместо 1.02, который я получил через рекомендованную установку GIT вчера !?), она работала хорошо.

+0

Да. Это, вероятно, нужно упомянуть на веб-сайте руководства ROR. У меня такое чувство, что многие люди сталкиваются с этой проблемой, как мы говорим. – Kevin

0

Делать это после обновления РВМ и перезарядить работал для меня:

rm -rf .bundle && bundle install 
1

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

Вместо использования 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 
+0

i получить файл базы данных /Users/jp/.rvm/config/packages не существует – johndpope

Смежные вопросы