Как я могу начать свою среду Ruby с нуля? - PullRequest
3 голосов
/ 06 июля 2011

Я пытался обновить мою среду рельсов на своем MacBook, и я что-то испортил, но я не уверен, что именно. Можно ли полностью удалить RVM, Ruby и Rails и начать с нуля? Я совершенно не понимаю, как это все должно работать.

В настоящее время у меня установлены Ruby 1.8.7 и 1.9.2 через RVM. Я обновил рельсы до 3.0.9, но теперь он отказывается работать, сославшись на ошибку с рейком.

/ Users / Moshe / .rvm / rubies / ruby-1.9.2-p180 / lib / ruby ​​/ site_ruby / 1.9.1 / rubygems / dependency.rb: 247: в to_specs': Could not find rails (>= 0) amongst [rake-0.8.7, rake-0.8.7, rubygems-update-1.8.5] (Gem::LoadError) from /Users/Moshe/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:256:in to_spec ' от /Users/Moshe/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems.rb:1182:in gem' from /Users/Moshe/.rvm/rubies/ruby-1.9.2-p180/bin/rails:18:in '

Что я могу сделать, чтобы исправить ситуацию? Я бы хотел вернуться к версии ruby, которая шла с моим Mac.

( Редактировать: Я на снежном барсе 10.6.8)

Edit2:

Теперь я получил rvm для запуска ruby ​​1.9.2 и rails 3.0.9 Однако, попытка загрузить сервер с помощью rails server возвращает следующее:

AppMachineMobile: привет, мой сервер $ rails

=> Загрузка WEBrick

=> Приложение Rails 3.0.9 запускается в разработке на http://0.0.0.0:3000

=> Вызвать с помощью -d для отключения

=> Ctrl-C для выключения сервера

Выход

/ Пользователи / Moshe / Разработка / Ruby / привет / config / initializers / new_rails_defaults.rb: 14: неопределенный метод `generate_best_match = 'для ActionDispatch :: Routing: Module (NoMethodError)

из /Library/Ruby/Gems/1.8/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:235:in `load '

из /Library/Ruby/Gems/1.8/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:235:in `load '

из /Library/Ruby/Gems/1.8/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:225:in `load_dependency '

из /Library/Ruby/Gems/1.8/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:596:in `new_constants_in '

из /Library/Ruby/Gems/1.8/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:225:in `load_dependency '

из /Library/Ruby/Gems/1.8/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:235:in `load '

из /Library/Ruby/Gems/1.8/gems/railties-3.0.9/lib/rails/engine.rb:201

из /Library/Ruby/Gems/1.8/gems/railties-3.0.9/lib/rails/engine.rb:200:in `each '

из /Library/Ruby/Gems/1.8/gems/railties-3.0.9/lib/rails/engine.rb:200

из /Library/Ruby/Gems/1.8/gems/railties-3.0.9/lib/rails/initializable.rb:25:in `instance_exec '

из /Library/Ruby/Gems/1.8/gems/railties-3.0.9/lib/rails/initializable.rb:25:in `run '

из /Library/Ruby/Gems/1.8/gems/railties-3.0.9/lib/rails/initializable.rb:50:in `run_initializers '

из /Library/Ruby/Gems/1.8/gems/railties-3.0.9/lib/rails/initializable.rb:49:in `each '

из /Library/Ruby/Gems/1.8/gems/railties-3.0.9/lib/rails/initializable.rb:49:in `run_initializers '

из /Library/Ruby/Gems/1.8/gems/railties-3.0.9/lib/rails/application.rb:134:in `initialize! '

из /Library/Ruby/Gems/1.8/gems/railties-3.0.9/lib/rails/application.rb:77:in `send '

из /Library/Ruby/Gems/1.8/gems/railties-3.0.9/lib/rails/application.rb:77:in `method_missing '

от /Users/Moshe/Development/Ruby/hello/config/environment.rb:5

от /Users/Moshe/Development/Ruby/hello/config.ru:3:in `require '

от /Users/Moshe/Development/Ruby/hello/config.ru:3

из /Library/Ruby/Gems/1.8/gems/rack-1.2.3/lib/rack/builder.rb:46:in `instance_eval '

из /Library/Ruby/Gems/1.8/gems/rack-1.2.3/lib/rack/builder.rb:46:in `initialize '

от /Users/Moshe/Development/Ruby/hello/config.ru:1:in `new '

от /Users/Moshe/Development/Ruby/hello/config.ru:1

Ответы [ 5 ]

3 голосов
/ 06 июля 2011

Я бы попробовал начать с нуля. Проверьте, какие rvms вы установили:

$rvm list

и вы должны получить что-то вроде этого:

rvm rubies

   jruby-1.5.5 [ x86_64-java ]
   ree-1.8.7-2010.02 [ x86_64 ]
   ruby-1.8.6-p399 [ x86_64 ]
   ruby-1.8.7-p299 [ x86_64 ]
=> ruby-1.8.7-p302 [ x86_64 ]
   ruby-1.9.2-p0 [ x86_64 ]

Удалите rvm на каждом элементе:

$rvm uninstall 1.8.7
$rvm uninstall 1.9.2

Установить Ruby 1.8.7:

$ rvm install 1.8.7

Установите последнюю версию Ruby 1.9.2:

$ rvm install 1.9.2

Установите значение по умолчанию (или 1.8.7, если хотите):

$ rvm use 1.9.2 --default

Установить гемы PostgreSQL и SQLite (предположим, снежный барс):

$ env ARCHFLAGS="-arch x86_64" gem install pg sqlite3-ruby

Установить Rails 3 (включая Bundler):

$ gem install rails

Если вы участвуете в проекте рельсов 2x:

$rvm use 1.8.7

Если вы участвуете в проекте рельсов 3:

$rvm use 1.9.2

Когда вы находитесь в каждом rvm, загружайте гемы, связанные с проектом, через 'bundle install', если вы используете bundler, или 'rake gems: install', если у вас есть все, что сбрасывается в вашу среду. Rb

2 голосов
/ 06 июля 2011
rm -rf .rvm .rvmrc

затем удалите файлы .rvmrc в каталоге вашего проекта, если вы хотите быть уверенным, что начинаете с нуля.

Если вы не установили системный рубин, кроме установки через rvm, у вас нетКоманда "ruby" больше не будет, пока вы не переустановите rvm снова.

Итак:

bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)

для переустановки rvm.Теперь все должно вернуться к установке по умолчанию.

0 голосов
/ 09 июля 2014

Прежде чем начать снова, взгляните на RBENV как на альтернативу RVM. Это намного чище и проще в использовании.

0 голосов
/ 04 сентября 2013

это может быть полезно:

http://blog.parsalabs.com/blog/2013/08/27/setting-up-a-ruby-on-rails-4-development-environment-on-a-clean-mac-os-x-installation/

rbenv - отличный инструмент для управления рубинами.

0 голосов
/ 30 декабря 2012

Я не удалил ни один файл .rvm и .rvmrc.Но моя проблема была решена.Я не знаю, как это было решено.Но какой шаг я сделал, я говорю вам.Сначала я использовал нестабильную версию гема rails в своем Gemfile.Вот почему возникает проблема.

gem 'rails', :path => '/home/user/life/rails'  #this is an unstable rails 4.0.0 beta

 #gem 'rails', '3.2.8' 

user@sandip:~/life/samplelogin$ rails c
/home/user/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:247:in `to_specs': Could not find railties (>= 0) amongst [activerecord-deprecated_finders-0.0.1, arel-3.0.2, atomic-1.0.1, builder-3.1.4, bundler-1.2.3, bundler-1.2.3, erubis-2.7.0, hike-1.2.1, i18n-0.6.1, json-1.7.5, mail-2.5.3, mime-types-1.19, minitest-4.3.3, multi_json-1.5.0, mysql2-0.3.11, polyglot-0.3.3, rack-1.4.1, rack-test-0.6.2, rake-10.0.3, rake-0.9.2, rdoc-3.12, sprockets-2.8.2, sprockets-rails-2.0.0.rc1, thor-0.16.0, thread_safe-0.1.0, tilt-1.3.3, treetop-1.4.12, tzinfo-0.3.35] (Gem::LoadError)
    from /home/user/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:256:in `to_spec'
    from /home/user/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/site_ruby/1.9.1/rubygems.rb:1210:in `gem'
    from /home/user/.rvm/gems/ruby-1.9.3-p362/bin/rails:18:in `<main>'

Затем следующим шагом, что я сделал, я просто комментирую гем из локальной папки.

 #gem 'rails', :path => '/home/user/life/rails'  #this is an unstable rails 4.0.0 beta'

gem 'rails', '3.2.8'

Затем запустите пакетную установку

тогда сделай

user@sandip:~/life/samplelogin$ rails c
Loading development environment (Rails 3.2.8)
1.9.3p362 :001 >
...