Установите Rails 3 на OSX с помощью RVM - PullRequest
14 голосов
/ 06 сентября 2010

Попытка установить новую версию 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/ruby-1.9.2-head@rails3/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

Ответы [ 9 ]

27 голосов
/ 06 сентября 2010

В старых версиях rvm была ошибка, из-за которой ваши версии ruby ​​могли быть перепутаны, поскольку ОС может кэшировать пути к исполняемым файлам для команды which (особенно если вы используете 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 1.9.2@rails3
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 голосов
/ 06 сентября 2010

сам через него работаю как новый пользователь mac osx бла-бла

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

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

2 голосов
/ 06 сентября 2010

Вам не нужно указывать версию 3. Если у вас есть 1.9.2-p0, он автоматически получит рельсы 3, когда вы rvm gem install rails 3. примечание: не судо. Я думаю, что когда вы используете sudo, он использует установленный системой ruby. Если вы думаете, что вам нужен 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, я думаю, что он устанавливает его для каждой версии ruby, которую вы зарегистрировали с помощью rvm (по крайней мере, так было в моем опыте), поэтому я предполагаю, что он пытался принудительно установить rails 3 для более старой версии. установка ruby, в которой отсутствовали необходимые драгоценные камни.

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

Дайте мне знать, как это происходит.

2 голосов
/ 06 сентября 2010

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

1 голос
/ 31 июля 2011

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

Вместо использования rvm update мне пришлось использовать rvm rubygems.Затем, выполнив всю работу из поста 2, мне пришлось выполнить bundle install, и я ввел rvm use 1.9.2@rails3 в свой файл .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 1.9.2@rails3
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 1.9.2@rails3' > .rvmrc
1 голос
/ 07 сентября 2010

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

1 голос
/ 06 сентября 2010

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

rvm -v rvm 1.0.2 Уэйна Э. Сегина (wayneeseguin@gmail.com) [http://rvm.beginrescueend.com/]

ruby ​​-v ruby 1.9.2p0 (2010-08-18 редакция 29036) [x86_64-darwin10.4.0]

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

0 голосов
/ 29 декабря 2010

Делать это после обновления и перезагрузки rvm у меня получилось:

rm -rf .bundle && bundle install
0 голосов
/ 08 сентября 2010

Следовал этим инструкциям и нашел их очень полезными для установки rvm. Надеюсь, они работают на вас.

http://adventuresincoding.com/2010/01/taking-the-helm-of-ruby-with-ruby-version-manager/

...