簡體   English   中英

如何從頭開始我的 Ruby 環境?

[英]How can I start my Ruby environment from scratch?

我一直在嘗試升級我的 MacBook 上的 Rails 環境,但我搞砸了,但我不確定是什么。 是否可以完全移除 RVM、Ruby 和 Rails 並從頭開始? 我對這一切應該如何工作感到很困惑。

我目前已經通過 RVM 安裝了 Ruby 1.8.7 和 1.9.2。 我已將 rails 升級到 3.0.9,但它現在拒絕工作,理由是 rake 出現了一些錯誤。

/Users/Moshe/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:247:in 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 '

我能做些什么來解決這種情況? 我想恢復到我的 Mac 附帶的 ruby 版本。

編輯:我在 Snow Leopard 10.6.8 上)

編輯2:

我現在已經讓 rvm 運行 ruby 1.9.2 和 rails 3.0.9 但是,嘗試使用rails server啟動服務器會返回以下內容:

AppMachineMobile:你好 Moshe$ rails 服務器

=> 啟動 WEBrick

=> Rails 3.0.9 應用程序開始在http://0.0.0.0:3000上開發

=> 使用 -d 調用以分離

=> Ctrl-C 關閉服務器

退出

/Users/Moshe/Development/Ruby/hello/config/initializers/new_rails_defaults.rb:14:ActionDispatch::Routing:Module 的未定義方法“generate_best_match=”(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

我會嘗試從頭開始。 檢查您安裝了哪些 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 gems(假設是雪豹):

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

安裝 Rails 3(包括 Bundler):

$ gem install rails

如果您在 rails 2x 項目中:

$rvm use 1.8.7

如果您在 rails 3 項目中:

$rvm use 1.9.2

當您在每個 rvm 中時,如果您使用的是 bundler,則通過“bundle install”加載與項目關聯的 gem,如果您將所有內容都轉儲到 environment.rb 中,則通過“rake gems:install”加載

rm -rf .rvm .rvmrc

如果您想確保從頭開始,請刪除項目目錄中的 .rvmrc 文件。

除非您已經安裝了系統范圍的 ruby 除了通過 rvm 安裝一個之外,否則您將不再有“ruby”命令,直到您再次重新安裝 rvm。

所以:

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

重新安裝rvm。 現在一切都應該恢復到默認安裝。

我沒有刪除任何.rvm 和.rvmrc 文件。 但是我的問題已經解決了。 我不知道它是如何解決的。 但是我做了什么,我告訴你。 首先,我在我的 Gemfile 中使用了不穩定版本的 rails gem。 這就是為什么會出現問題。

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。

 #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 >

這可能會有所幫助:

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 是一個很棒的工具來管理你的紅寶石。

在重新開始之前,先看看 RBENV 作為 RVM 的替代品。 它更清潔,更易於使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM