`
gazeldx
  • 浏览: 102172 次
  • 性别: 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版本

    RVM 是Ruby Version Manager的缩写,是一个命令行工具,它可以让你轻松地安装,管理和使用多个版本的Ruby.不同的rails项目使用等ruby和rails版本不一样的时候,可以使用RVM自由切换。

    rvm-master.tar.gz

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

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

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

    CentOS7下搭建ruby on rails开发环境

    rvm是一个命令行工具,提供多版本ruby环境的管理和切换,还可以根据项目管理不同的gemset。 如果没有生成ssh key,这一步可能会失败,直接ssh-keygen生成key之后再执行安装即可。 还可能遇到gpg有关的问题:根据提示...

    foo_do:KCL Tech Ruby Workshop 正在进行的 ToDo 应用程序项目

    这些文件将告诉 RVM 使用 Ruby 2.2.0,并切换到名为 foo_do 的 gemset。 这只是意味着该项目不会与您可能已安装在系统上的任何其他 gem 冲突,因为 RVM 现在将隔离 foo_do。 您可以阅读有关 RVM 工作

    sapphire:科学通用数据管理系统

    然后进入创建的 sapphire 目录,如果您使用 rvm 切换到 ruby​​ 版本 1.9.3 或更高版本并创建一个 rvm gemset。 执行bundle install - 这将安装所有的 gems 配置您的database.yml文件并相应地创建您的数据库用户...

    wordset-api:Wordset 站点的基于 Rails 的后端

    我们建议使用 RVM 来管理 Ruby 版本。 这个项目需要MongoDB。 在带有 Homebrew 的 OS X 上,这就像brew install mongo一样简单,但请参阅以获取有关您平台的更多信息。安装git clone ...

    harmonyos2-cornerstone:更快上手!带有Rails3、MongoMapper(在MongoHQ上)、ENV-awareCM

    和声2 基石 它是什么?! 一个流行语 EXTRAVAGANZA! 虚拟机 Ruby 1.9.2-p0 Rails3 MongoMapper(开启或关闭 MongoHQ) 设计 发送网格 充电 Sass(通过指南针) 摩卡 工厂女工 环境感知配置管理 大多数配置在 config...

    irb-config:增强您的Ruby REPL。 支持导轨,蒙古型,rspec和Cucumber

    这样,您可以在开发环境和测试环境之间来回切换,这就是rspec / cucumber命令的作用。 如何使用 所有的好东西都会自动加载到您的Rails控制台中。 与通常的命令非常相似,使用rspec命令。 与通常的命令非常相似,...

    calblueprint.org:蓝图网站和应用程序门户

    转到代码库文件夹,切换到ruby 2.6.5: rvm use 2.5.6 (每次在此文件夹中打开终端时都必须执行此操作) 在本地安装Postgresql,在mac brew install postgresql 。 (如果出现错误,请尝试使用) 设置 运行安装...

    Ungardienpresdechezsoi

    链接到我们的Heroku网站: : 入门首先克隆存储库 bundle installbundle installrails db:createrails db:migraterails db:seedrails server先决条件Ruby 2.5.1 使用切换您的ruby版本rvm use 2.5.1 用户体验

Global site tag (gtag.js) - Google Analytics