Хобрук: Ваш путь к мастерству в программировании

Установите 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/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

  • Какая у вас версия rubygems? ($ gem -v) 06.09.2010

Ответы:


1

В более старых версиях 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

06.09.2010
  • Несмотря на то, что это сработало, мне приходится запускать rvm use 1.9.2 и rvm use 1.9.2@rails3 каждый раз, когда я запускаю терминал. Есть ли способ заменить базовую версию Ruby для OSX на 1.9.2 и Rails? 06.09.2010
  • Кевин попробуй: rvm use 1.9.2@rails3 --default 07.09.2010
  • Кевин: вы также можете создать файл .rvmrc для каждого каталога, который автоматически изменится на нужную вам рубиновую версию всякий раз, когда вы войдете в этот каталог: rvm.beginrescueend.com/workflow/rvmrc 07.09.2010
  • rvm update был удален. Чтобы получить последнюю версию, используйте команду rvm get stable. 20.04.2012
  • для LION - используйте rvm install 1.9.3 --with-gcc = clang stackoverflow.com/questions/8032824/ 10.05.2012

  • 2

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

    06.09.2010
  • Я попробую это. Он сказал, что 1.9.2-p0 не найден, и чтобы сделать rvm install ruby-1.9.2-p0. Бегу сейчас. 06.09.2010
  • Такая же точная ошибка. Я обновил свой вопрос с ошибкой, которую я получаю от rails -v. 06.09.2010
  • Путь к запускаемой команде Rails находится в / Library. Если бы RVM был установлен правильно, он был бы в /Users/user/.rvm/. Я подозреваю, что вы не добавили строку в свой файл .profile, или что-то еще пошло не так. Я предлагаю вам полностью избавиться от RVM (rm -rf ~ / .rvm), а также от любых других установленных вами Rubies и попробовать установить его снова, внимательно следуя инструкциям. 06.09.2010
  • Я проделал это 3 раза с этим руководством и получил тот же результат. Что не так? 06.09.2010
  • Я просто не знаю. Все, что я могу сказать, это то, что в вашем сообщении команда rails по-прежнему остается той, которая поставляется с OS X. 06.09.2010

  • 3

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

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

    Дай мне знать, как дела.

    06.09.2010
  • Просто, как rm -rfv ~ / .rvm, :) также может потребоваться удалить ~ / .rvmrc, если он там 06.09.2010
  • Та же ошибка. Нет такого файла или каталога - /Users/kevin/.rvm/gems/ruby-1.9.2-p0/cache/activesupport-3.0.0.gem 06.09.2010
  • Итак, все, что вы сделали, чтобы убедиться, что все делаете правильно, было в порядке, не так ли? Вы пробовали установить gem install activesupport? 06.09.2010
  • Кроме того, какая команда выдает эту ошибку, gem install rails? дословно? 06.09.2010
  • gem install rails выбросил ошибку. gem install activesupport выдает ту же ошибку 06.09.2010
  • вы можете опубликовать весь вывод gem install activesupport? странно, что это будет вызывать ту же ошибку. 06.09.2010
  • @Blaenk: Jeremies-MacBook-Pro: ~ jeremieweldin $ gem install activesupport ОШИБКА: при выполнении gem ... (Errno :: ENOENT) Нет такого файла или каталога - /Users/jeremieweldin/.rvm/gems/ruby-1.9.2 -p0 / кеш / activesupport-3.0.0.gem 06.09.2010
  • В итоге я заставил его работать, закрыв открытые окна терминала, а затем запустив sudo gem install rails в новом окне терминала. Если это сработает для вас, примите и мой ответ. 06.09.2010
  • Игнорируйте мой комментарий выше. Я думаю, что мой .bashrc не работает. RVM кажется мне в лучшем случае ненадежным. 06.09.2010
  • Да, вы, ребята, должны закрыть терминал и снова открыть его, когда вы добавите правильные строки в профиль bash, это приведет к тому, что строки вступят в силу. Возможно, вы, ребята, забыли это сделать? 07.09.2010
  • Нет, я делал это каждый раз. Странный. Обновление RVM обошло все это. 07.09.2010

  • 4

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

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

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

    06.09.2010

    5

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

    rvm -v rvm 1.0.2, автор: Уэйн Э. Сегин ([email protected]) [http://rvm.beginrescueend.com/]]»rel=

    ruby -v ruby ​​1.9.2p0 (версия 29036 от 18.08.2010) [x86_64-darwin10.4.0]

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

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

  • 6

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

    07.09.2010
  • да. Об этом, вероятно, нужно упомянуть на веб-сайте руководств по ROR. Я чувствую, что многие люди сталкиваются с этой же проблемой, пока мы говорим. 07.09.2010

  • 7

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

    Вместо использования 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
    
    30.07.2011
  • я получаю файл базы данных /Users/jp/.rvm/config/packages не существует 10.05.2012

  • 8

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

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

    08.09.2010

    9

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

    rm -rf .bundle && bundle install
    
    29.12.2010
    Новые материалы

    Аргументы прогрессивного улучшения почти всегда упускают суть
    В наши дни в кругах веб-разработчиков много болтают о Progressive Enhancement — PE, но на самом деле почти все аргументы с обеих сторон упускают самую фундаментальную причину, по которой PE..

    Введение в Джанго Фреймворк
    Схема «работать умно, а не усердно» В этой и последующих статьях я познакомлю вас с тем, что такое фреймворк Django и как создать свое первое приложение с помощью простых и понятных шагов, а..

    Настольный ПК как «одно кольцо, чтобы править всеми» домашних компьютеров
    Вид после 9 месяцев использования С настольных компьютеров все началось, но в какой-то момент они стали «серверами», и мы все перешли на ноутбуки. В прошлом году я столкнулся с идеей настольных..

    Расширенные методы безопасности для VueJS: реализация аутентификации без пароля
    Руководство, которое поможет вам создавать безопасные приложения в долгосрочной перспективе Безопасность приложений часто упускается из виду в процессе разработки, потому что основная..

    стройный-i18следующий
    Представляем стройную оболочку для i18next. Эта библиотека, основанная на i18next, заключает экземпляр i18next в хранилище svelte и отслеживает события i18next, такие как languageChanged,..

    Обзор 20 основных и современных методов работы с массивами в JavaScript
    Вы знаете их всех? В этом коротком посте я покажу сводку методов, доступных в JavaScript для работы с массивами. Я надеюсь, что вы найдете это полезным! В конце поста вы найдете ссылку на..

    Да, но я чувствую необходимость указать, что это или не единственные два.
    Да, но я чувствую необходимость указать, что это или не единственные два. Обучение с подкреплением (в качестве примера) также является важным.