发布于 2016-02-12 23:38:21 | 147 次阅读 | 评论: 0 | 来源: 网友投递
RVM Ruby版本管理工具
需要重新创建另一个 Ruby 编码人员的开发环境?希望体验最新版本的 JRuby?想要将您的工作隔离到一组特定的 gem 中?有了方便且聪明的 Ruby Version Manager,您可以完成所有这些以及更多的工作。
rvm 的全称是 Ruby Version Manager ,是一款由 Wayne E. Seguin 开发的一款命令行工具。rvm 能够让你轻松的安装、管理 ruby 生产力环境,诸如不同版本的解释器和 gem 。
RVM 官方网站
1 由于现在很多网站都转向https链接,所以,根据rvm官方的教程
另,最好还是以单用户的形式安装,也就是安装到非ROOT用户目录下。
1.1 设置https验证,如果按照以前的教程的话是没有这一部的,不过现在需要了,否则会报错。
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
PS:非 root 用户可能需要用 sudo 安装,嘛,反正我的就是这样的。
1.2 正戏来了,下面的这一句就是表示安装rvm。
curl -sSL https://get.rvm.io | bash -s stable
以前的是:
curl -s get.rvm.io | bash -s stable
全局RVM:
curl -sSL https://get.rvm.io | sudo bash -s stable
下载是否还可以使用此方法我就没试了。
ps:ROOT用户默认安装再/use/local/rvm目录下,非ROOT用户安装到用户目录中。最好还是不要安装全局RVM。
ps:我开始的时候吧RVM安装到root下,又想再非ROOT下安装 ruby,呵呵,这下就有意思了,TMD总是提示权限不足无法创建/usr/local/rvm目录,嘛,这个很 正常,非root 权限是无法再系统目录中创建文件的,然后我就想既然分开创建会有问题,那我就把RVM安装到用户目录下不就行了,可是呢,当我在ROOT下使用
rvm implode 命令卸载了rvm准备在用户目录下安装时,TMD还是提示无法创建/usr/local/rvm 目录,奇怪,难道还要显示指定安装路径。后来查到是有默认地址这 么个先进的设置的。好吧,见鬼了,明明用的非ROOT用户登陆,却死活要安装到系统目录中,好吧,重启。重启之后,OK.
嘛,我现在只想说-------草--------
PS:其实很多命令看命令帮助(rvm --help)就知道了,
另:记一次全新的系统安装配置RVM
1,安装GIT,curl,bison(aptitude 直接安装)
2,运行
$ bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head )
3,
$ mkdir -p ~/.rvm/src/ && cd ~/.rvm/src && rm -rf ./rvm/ && git clone --depth 1 git://github.com/wayneeseguin/rvm.git && cd rvm && ./install
下载,安装
4,因为我用的是Ubuntu的10.10所以,在
$ vi ~/.bashrc
加入以下信息,到文件中。
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # This loads RVM into a shell session.
5,关闭命令行,重新打开一个,输入 type rvm | head -1
如果结果正确的话就会 显示
rvm is a function
基本安装完毕。。
最后加入path:
$ source ~/.rvm/scripts/rvm
6,但是之后运行 rvm install 1.9.2-head的时候就会出错:
ruby-1.9.2-head - #fetching
Downloading source from http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_9_2.
Error running 'svn checkout -q http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_9_2 /home/allen/.rvm/repos/ruby-1.9.2-head', please read /home/allen/.rvm/log/ruby-1.9.2-head/svn.checkout.log
There has been an error while trying to fetch / update the source.
Halting the installation.
There has been an error fetching the ruby interpreter. Halting the installation.
原来我没装svn。。。。囧。。。。