博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RVM 实用指南
阅读量:6175 次
发布时间:2019-06-21

本文共 1937 字,大约阅读时间需要 6 分钟。

hot3.png

rvm是一个命令行工具,可以提供一个便捷的多版本ruby环境的管理和切换。

如果你打算学习ruby/rails, rvm是必不可少的工具之一。

这里所有的命令都是再用户权限下操作的,任何命令最好都不要用sudo.

rvm安装

$ curl -L get.rvm.io | bash -s stable$ source ~/.bashrc$ source ~/.bash_profile

修改 RVM 的 Ruby 安装源到国内的 ,这样能提高安装速度

$ sed -i -e 's/ftp\.ruby-lang\.org\/pub\/ruby/ruby\.taobao\.org\/mirrors\/ruby/g' ~/.rvm/config/db

ruby的安装与切换

  • 列出已知的ruby版本

rvm list known
  • 安装一个ruby版本

rvm install 1.9.3

这里安装了最新的1.9.3, rvm list known列表里面的都可以拿来安装。

  • 使用一个ruby版本

rvm use 1.9.3

如果想设置为默认版本,可以这样

rvm use 1.9.3 --default
  • 查询已经安装的ruby

rvm list
  • 卸载一个已安装版本

rvm remove 1.9.2

gemset的使用

rvm不仅可以提供一个多ruby版本共存的环境,还可以根据项目管理不同的gemset.

gemset可以理解为是一个独立的虚拟gem环境,每一个gemset都是相互独立的。

比如你有两个项目,一个是rails 2.3 一个是 rails 3. gemset可以帮你便捷的建立两套gem开发环境,并且方便的切换。

gemset是附加在ruby语言版本下面的,例如你用了1.9.2, 建立了一个叫rails3的gemset,当切换到1.8.7的时候,rails3这个gemset并不存在。

  • 建立gemset

rvm use 1.8.7rvm gemset create rails23
  • 然后可以设定已建立的gemset做为当前环境

use 可以用来切换语言,或者gemset,前提是他们已经被安装(或者建立)。并可以在list命令中看到。

rvm use 1.8.7rvm use 1.8.7@rails23

然后所有安装的gem都是安装在这个gemset之下。

  • 列出当前ruby的gemset

rvm gemset list
  • 清空gemset中的gem

如果你想清空一个gemset的所有gem,想重新安装所有gem,可以这样

rvm gemset empty 1.8.7@rails23
  • 删除一个gemset

rvm gemset delete rails2-3

项目自动加载gemset

rvm还可以自动加载gemset.

例如我们有一个rails3.1.3项目,需要1.9.3版本ruby.整个流程可以这样。

rvm install 1.9.3rvm use 1.9.3rvm gemset create rails313rvm use 1.9.3@rails313

下面进入到项目目录,建立一个.rvmrc文件。

在这个文件里可以很简单的加一个命令:

rvm use 1.9.3@rails313

然后无论你当前ruby设置是什么,cd到这个项目的时候,rvm会帮你加载 ruby 1.9.3和rails313 gemset.

使用rvm来快速部署nginx+passenger

*首先安装passenger

gem install passenger

然后使用passenger-install-nginx-module 来安装nginx和部署。

因为这一步需要root权限(因为要编译nginx)可以用rvmsudo这个东西。(这个东西真是个好东西)

rvmsudo passenger-install-nginx-module

然后会让你选择是下载nginx源码自动编译安装,还是自己选择nginx源码位置。

选择nginx手动安装的可以添加别的编译参数,方便自定义编译nginx。

然后一路下载安装。默认的安装位置为/opt/nginx.

然后看看nginx.conf,都给你配置好了,只需要加上root位置(yourapp/public)就可以了。

当我第一次安装完成了,就惊呼,这也太爽了吧。

ps:rvm是个好东西,做的很智能,(大部分)操作失败后会告诉你原因,然后告诉你需要安装哪些Lib等等,非常适合新手老手使用,简直是居家旅行必备良药。

转载于:https://my.oschina.net/dearmark/blog/291753

你可能感兴趣的文章
Kali***(二)之被动信息收集
查看>>
LNMP
查看>>
js url转码
查看>>
shell脚本(探测主机是否存活)
查看>>
阿里巴巴年薪800k大数据全栈工程师成长记
查看>>
51CTO学院讲师意见反馈处【2018版】
查看>>
Redis 高负载下的中断优化
查看>>
Django的缓存?
查看>>
802.1ad Provider Bridges 学习笔记
查看>>
三分 Error Curves
查看>>
Ansible 自动化运维实例
查看>>
ORACLE异常:RETURNING 子句不支持的功能
查看>>
What I did after I installed Ubuntu 12.10
查看>>
音画制作教程电子书
查看>>
rehdat 6.0 中安装PHP-JOSN方法
查看>>
我的友情链接
查看>>
Web设计规范----控件、组件
查看>>
2013-10-7 设置combboxItem高度的方法
查看>>
洛谷 1373 小a和uim之大逃离
查看>>
一不小心把win10的秘钥卸载了解决方法
查看>>