Установите 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
Ответ 8
Следуя этим инструкциям и нашел их очень полезными для установки rvm. Надеюсь, они сработают для вас.
http://adventuresincoding.com/2010/01/taking-the-helm-of-ruby-with-ruby-version-manager/
Ответ 9
Выполнение этого после обновления и перезагрузки rvm для меня:
rm -rf .bundle && bundle install