`
gazeldx
  • 浏览: 105913 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

RVM切换Ruby和Rails版本

    博客分类:
  • Ruby
阅读更多
目的是运行多个ruby和rails版本
apt-get install git-core ...3个,参考我博客其他文章
apt-get curl
安装RVM详见:https://rvm.beginrescueend.com/rvm/install/照着做。
如果是Multi-user,rvm会被自动安装到/usr/local/rvm,否则会被安装到/home/zj/.rvm
在source ~/.bash_profile 这是刷新设置。如果这一步报错:-bash: /root/.bash_profile: No such file or directory
解决:touch .bash_profile
vim .bash_profile内容如下:
注意下面的$HOME你echo下看看,如果是Multi-user,则$HOME/.rvm应该被替换为:/usr/local/rvm
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function
改好后再source ~/.bash_profile
其实这个是使得RVM在命令行中有了启动项。产看所有启动项用echo $PATH
返回:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/rvm/bin
发现有/usr/local/rvm/bin说明是OK的
RVM安装好后安装RUBY,然后安装rails
rvm install 1.9.3
rvm use 1.9.3
rvm gemset create rails3.1.0
rvm --default use 1.9.3@rails3.1.0#设为默认,但我的server上没能成功,和安装有关?
rvm current 当前
rvm gemset list列出所有gemset



下面看我另外一篇文章,介绍RVM的。


目前rails版本3.1,而locomotiveCMS要求rails3.0.10
这时rvm就上场啦。
安装见:https://rvm.beginrescueend.com/rvm/install/
使用见https://rvm.beginrescueend.com/gemsets/basics/
简述如下,下面都是命令:
$ bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer 
)
如果是包curl未安装,就apt-get install curl
如果还报错,就按照http://help.github.com/linux-set-up-git/的说明把git安装一下。

$ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile
$ source .bash_profile

这时候rvm装好了,但一些RVM需要的一些东东还没装。
$ rvm notes
查看并按照
$rvm requirements
的说明安装:
zj@zhangjian:/usr/bin$ sudo apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion

安装ruby1.9.2
$ rvm 1.9.2 这是切换到1.9.2下,并且是global模式,在这下面安装的gem被1.9.2下的所有gemset共享。我建议你把openssl也装以下,否则locomotiveCMS用到的一些gem中会报错:no such file to load — openssl。到时後你得$ rvm remove 1.9.2再重装,要花半个多小时。
方法如下:
$ rvm pkg install openssl 这个RVM不认系统中的openssl,要通过这样的方式装到archive中才行,这句话如果报错,说明$rvm requirements做好,按照上面的写法做好。
$ rvm remove 1.9.2
$ rvm install 1.9.2 -C --with-openssl-dir=$HOME/.rvm/usr
$ rvm list 查看目前有的ruby版本
$ rvm 1.9.2 --default 设置它为默认版本

安装rails 3.0.10
https://rvm.beginrescueend.com/rubies/rubygems/ 这个链接是描述了rvm和rubygems的关系,有个命令很好用:$ rvm gemdir,可以显示当前gem install会被装到何处。
注意:不要再安装rubygems了,因为在安装rvm的时候会自动把rubygems安装好!如gem install总是报错:
$ gem install rails -v 3.1.0
ERROR:  Could not find a valid gem 'rails' (= 3.1.0) in any repository
ERROR:  While executing gem ... (Gem::RemoteFetcher::FetchError)
    too many connection resets (http://production.s3.rubygems.org/latest_specs.4.8.gz)
或者dependencies找不到的错误

如果报如上错误,我不知到是什么原因,在一台新机器上报这个错,我怀疑是我在安装UBUNTU的时候下载更新,后来又取消了,只是瞎猜。在另外一台机器上不报。所以我就把那台好的机器上的硬盘拆下来放到新机器上使用,居然没有任何的不兼容,ubuntu系统真好呀,:-)
然后:
$ gem install rails --version=3.0.10 注意不能加sudo,因为rvm会把他们装到/home/zj/.rvm/gems/ruby-1.9.2-p290@rails3.0.10下,RVM就是利用这种手段使得各版本保持独立性。$ rails -v出现以下错误就是因为加了sudo
/usr/local/lib/site_ruby/1.8/rubygems/dependency.rb:247:in `to_specs': Could not find rails (>= 0) amongst [bundler-1.0.18] (Gem::LoadError)
	from /usr/local/lib/site_ruby/1.8/rubygems/dependency.rb:256:in `to_spec'
	from /usr/local/lib/site_ruby/1.8/rubygems.rb:1210:in `gem'
	from /usr/bin/rails:18


$ rvm gemset create rails3.0.10 必须创建gemset,然后才可以用!显示:
'rails3.0.10' gemset created (/home/zj/.rvm/gems/ruby-1.9.2-p290@rails3.0.10).
[b]$ rvm use 1.9.2@rails3.0.10[/b] 切换至,去掉use也是一样的
$ rvm 1.9.2@rails3.0.10 --default 设为默认gemset
$rvm info 

global下的是通用的,共享的,因此,有时候我们会rvm 1.9.2,来gem install,这样就能够共用了。
如果要几个ruby版本同时安装,则用rvm 1.8.7,1.9.2 do gem install ,否则rvm不要加,表示在当前ruby版本或者gemset下安装。切忌不要用任何sudo
详见https://rvm.beginrescueend.com/gemsets/basics/

参考文章:
https://rvm.beginrescueend.com/gemsets/using/
http://www.douban.com/note/92636671/
分享到:
评论
1 楼 freespace 2011-11-23  
不错,很好。这个文章解决多版本rails共享方法很好。

相关推荐

    使用RVM实现控制切换Ruby/Rails版本

    在Ruby开发环境中,RVM(Ruby Version Manager)扮演着至关重要的角色,它允许开发者在同一台机器上安装、管理和切换多个Ruby版本以及相应的Rails框架版本。这对于处理不同项目或遵循不同教程时保持一致性非常有用。...

    ruby on rails 开发环境包(ruby1.8.7,rails2.2.3)

    这可以通过Ruby版本管理器如RVM(Ruby Version Manager)或者rbenv来完成,它们允许你轻松地切换和管理不同的Ruby版本。 2. **安装Rails**:安装完Ruby后,使用gem包管理器安装Rails 2.2.3。运行`gem install rails...

    ruby on rails 安装手记

    推荐使用Ruby Version Manager (RVM)来管理不同版本的Ruby,因为RVM可以方便地在多个版本之间切换。要安装RVM,你需要在命令行中执行以下命令: 1. 安装curl(如果尚未安装): ``` sudo apt-get install curl `...

    RVM配置ROR

    通过RVM,开发者可以在同一系统中安装多个Ruby版本,并能够轻松地在这些版本之间切换,这对于开发基于不同Ruby版本的应用程序来说极为有用。 #### 二、Ubuntu环境下配置Ruby on Rails 本文档主要介绍了如何在Ubuntu...

    rvm-master.tar.gz

    在学习Ruby on Rails的过程中,不同教程使用的Ruby和Rails版本不一样,为了保持和教程中使用的版本一致,我们可以用RVM(Ruby Version Manager)来控制当前的Ruby/Rails版本,方便切换。

    rvm nginx passenger rails配置服务器.docx

    1. **RVM**:RVM是用于管理多个Ruby版本和Gemset的工具,它允许开发者在同一个系统上同时安装和切换不同版本的Ruby,以满足不同项目的需求。 2. **Nginx**:Nginx是一款高性能的HTTP和反向代理服务器,以其高效的...

    ruby on rails

    Ruby可以通过RVM(Ruby Version Manager)或rbenv等工具进行管理,便于切换不同版本。 2. **Bundler**:Bundler是Ruby社区广泛使用的依赖管理工具,用于管理项目所需的Gem(Ruby的库)。在Rails项目中,`Gemfile`...

    mac及linux下搭建ruby+rails环境

    总的来说,搭建Ruby on Rails环境涉及的关键技术包括RVM(用于管理Ruby版本)、Ruby gem(用于安装Rails和其他依赖库)以及Rails框架本身。通过这些工具,开发者可以在不同的操作系统上灵活地配置和管理开发环境,...

    Ruby Rails 3 Linda

    Ruby版本管理器如RVM(Ruby Version Manager)或rbenv可以帮助轻松切换和管理不同的Ruby版本。Rails可以通过`gem install rails`命令进行安装。 2. **基础架构**:了解Rails的MVC架构,包括模型(Model)负责数据...

    ruby完全安装过程

    RVM适用于Unix和macOS系统,而chruby则更轻量级,两者都能让你轻松切换不同版本的Ruby。 3. **安装步骤**: - **下载RVM/chruby**:访问官方网站获取安装指南,根据你的操作系统选择合适的安装方法。 - **安装...

    ruby在unbuntu的安装版本

    RVM允许你轻松地安装、切换和管理多个Ruby版本。在终端中输入以下命令来安装RVM: ```shell \curl -sSL https://get.rvm.io | bash -s stable ``` 安装完成后,你需要关闭并重新打开终端,或者运行`source ~/.rvm/...

    Ruby版本管理工具RVM的安装和使用教程

    RVM 是一个命令行工具,可以提供一个便捷的多版本 Ruby 环境的管理和切换。 https://rvm.io/ 如果你打算学习 Ruby / Rails, RVM 是必不可少的工具之一。 这里所有的命令都是再用户权限下操作的,任何命令最好都不要...

    ruby多版本安装包rar

    4. **多版本管理**: 要安装和切换Ruby版本,首先需要安装版本管理器(如rbenv或rvm)。然后,通过版本管理器的命令安装特定版本的Ruby,例如使用rbenv的`rbenv install 2.4.1`和`rbenv global 2.4.1`来安装并设为...

    Ruby-極光Rails5專屬伺服器安裝包

    2. **安装Ruby**: 使用RVM(Ruby Version Manager)或rbenv来管理Ruby版本,安装并切换到2.3.1。 3. **安装Passenger**: 通过gem包管理器安装Passenger,并进行全局配置。 4. **安装Nginx**: 通过包管理器如apt-get...

    Ruby-AnsibleRubyonRails服务器Ubuntu16x

    RVM和rbenv允许我们在多个版本的Ruby之间切换,确保我们的Rails应用始终运行在最佳环境中。安装RVM或rbenv后,可以使用它们来安装特定版本的Ruby,并通过gem来安装Rails框架。 然后,我们需要配置Web服务器,如...

    Ubuntu上配置Ruby on Rails框架及RubyMine IDE开发环境

    在Ubuntu上配置Ruby on Rails框架和RubyMine IDE开发环境是一个重要的步骤,对于想要在Linux环境下进行Web开发的程序员来说,这是必备的知识。Ruby on Rails是一个强大的全栈Web框架,它基于Ruby语言,大大简化了Web...

    RVM安装和使用总结笔记

    RVM,全称为Ruby Version Manager,是一个用于管理多...总的来说,RVM提供了一个强大而灵活的工具,让开发者能够高效地管理和使用多个Ruby版本,同时保持项目的Gem环境整洁和独立,极大地提升了开发效率和项目稳定性。

Global site tag (gtag.js) - Google Analytics