Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何从头开始我的Ruby环境?_Ruby On Rails_Ruby_Runtime_Installation - Fatal编程技术网

Ruby on rails 如何从头开始我的Ruby环境?

Ruby on rails 如何从头开始我的Ruby环境?,ruby-on-rails,ruby,runtime,installation,Ruby On Rails,Ruby,Runtime,Installation,我一直在尝试升级我的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\u ruby/1.9.1/rubygems/dependency.rb

我一直在尝试升级我的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\u ruby/1.9.1/rubygems/dependency.rb:247:in
to_specs]:在[rake-0.8.7、rake-0.8.7、rubygems-update-1.8.5](Gem::LoadError)中找不到rails(>=0)
from/Users/Moshe/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site\u ruby/1.9.1/rubygems/dependency.rb:256:in
to_spec' from/Users/Moshe/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site\u 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版本

编辑:我在玩雪豹10.6.8)

Edit2:

现在我已经让rvm运行ruby 1.9.2和rails 3.0.9,但是,尝试使用
rails server
启动服务器会返回以下结果:

AppMachineMobile:hello Moshe$rails服务器

=>启动WEBrick

=>Rails 3.0.9应用程序在上开始开发

=>使用-d调用以分离

=>Ctrl-C关闭服务器

退出

/Users/Moshe/Development/Ruby/hello/config/initializers/new_rails_defaults.rb:14:ActionDispatch的未定义方法“generate_best_match=”::Routing:Module(nomethoderor)

from/Library/Ruby/Gems/1.8/Gems/activesupport-3.0.9/lib/active_support/dependencies.rb:235:in'load'

from/Library/Ruby/Gems/1.8/Gems/activesupport-3.0.9/lib/active_support/dependencies.rb:235:in'load'

from/Library/Ruby/Gems/1.8/Gems/activesupport-3.0.9/lib/active_-support/dependencies.rb:225:in'load_-dependency'

from/Library/Ruby/Gems/1.8/Gems/activesupport-3.0.9/lib/active\u support/dependencies.rb:596:in'new\u constants\u in'

from/Library/Ruby/Gems/1.8/Gems/activesupport-3.0.9/lib/active_-support/dependencies.rb:225:in'load_-dependency'

from/Library/Ruby/Gems/1.8/Gems/activesupport-3.0.9/lib/active_support/dependencies.rb:235:in'load'

from/Library/Ruby/Gems/1.8/Gems/railties-3.0.9/lib/rails/engine.rb:201

from/Library/Ruby/Gems/1.8/Gems/railties-3.0.9/lib/rails/engine.rb:200:in'each'

from/Library/Ruby/Gems/1.8/Gems/railties-3.0.9/lib/rails/engine.rb:200

from/Library/Ruby/Gems/1.8/Gems/railties-3.0.9/lib/rails/initializable.rb:25:in'instance_exec'

from/Library/Ruby/Gems/1.8/Gems/railties-3.0.9/lib/rails/initializable.rb:25:in'run'

from/Library/Ruby/Gems/1.8/Gems/railties-3.0.9/lib/rails/initializable.rb:50:in'run_initializers'

from/Library/Ruby/Gems/1.8/Gems/railties-3.0.9/lib/rails/initializable.rb:49:in'each'

from/Library/Ruby/Gems/1.8/Gems/railties-3.0.9/lib/rails/initializable.rb:49:in'run_initializers'

from/Library/Ruby/Gems/1.8/Gems/railties-3.0.9/lib/rails/application.rb:134:in'initialize!'

from/Library/Ruby/Gems/1.8/Gems/railties-3.0.9/lib/rails/application.rb:77:in'send'

from/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

from/Users/Moshe/Development/Ruby/hello/config.ru:3:in'require'

from/Users/Moshe/Development/Ruby/hello/config.ru:3

from/Library/Ruby/Gems/1.8/Gems/rack-1.2.3/lib/rack/builder.rb:46:in'instance_eval'

from/Library/Ruby/Gems/1.8/Gems/rack-1.2.3/lib/rack/builder.rb:46:in'initialize'

from/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):

安装PostgreSQL和SQLite gems(假设是雪豹):

安装导轨3(包括捆绑机):

如果您在rails 2x项目中:

$rvm use 1.8.7
如果您在rails 3项目中:

$rvm use 1.9.2
当您在每个rvm中时,如果您使用bundler,则通过“bundle install”加载与项目关联的gem,如果您将所有内容都转储到您的环境中,则通过“rake gems:install”加载gem。rb

rm -rf .rvm .rvmrc
如果希望确保从头开始,请删除项目目录中的.rvmrc文件

除非您除了通过rvm安装一个系统范围的ruby之外,还安装了一个ruby,否则您将不再有“ruby”命令,除非您再次重新安装rvm

因此:


bash<我没有删除任何.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>'
然后运行bundle安装

那就做吧

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

这可能会有帮助:


rbenv是一款非常棒的管理红宝石的工具。

在您重新开始之前,请将rbenv作为RVM的替代品。它更干净,更容易使用

这会移除rvm安装的红宝石吗?那么ruby的安装呢?据我所知,它将删除rvm安装的所有ruby版本以及gems。Max OSX附带的原始ruby无法如此轻松地删除。请查看以下答案:@Brian-根据该答案删除ruby将删除rvm,但现在我无法访问默认ruby!您的计算机上是否存在
/usr/bin/ruby
rm -rf .rvm .rvmrc
bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)
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 >