一、仅仅在当前用户下安装,则默认安装在$HOME/.rvm下,
二、也可装到另一个用户下,
三、多用户安装:非root,需要有2个以上用户,且安装时用sudo ,在/usr/local/rvm
使用RVM在ubuntu下安装ruby&rails
前面讲过如何在ubuntu下以源码方式安装ruby、不过这种方法始终会比较麻烦、莪们可以使用rvm来进行版本管理当然也能使用rvm来进行安装、这可是类linux专属的工具、哈哈、在linux安装rvm也是一条命令的事情、但在这之前、莪们需要安装一些其它的软件来确保程序能够安装、
一、首先要安装 curl 和 git;
sudo
apt-get
install
curl
sudo apt-get install git
二、安装RVM bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer )
#安装在当前用户下。注意不要使用sudo安装;
然后rvm就已经安装好了、但还不能直接通过终端在任何位置使用rvm命令、所以莪们先把rvm加入linux的shell命令先、进入用户目录、简单的输入下cd ~就可以了、使用任何工具编辑.bash_profile这个文件、可以使用vi、当然也可以使用gedit、输入命令
vi .bash_profile #如果当前目录不是用户目录、命令改成
vi ~/.bash_profile #ubuntu下是 ~/.profile ;终端开启调用的是~/.bashrc
这样在任何地方都可以修改这个文件、再在最底下添加一行
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function
保存便可以了、然后再执行一下source .bash_profile、[ source ~/.bashrc 或 source ~/.profile ] 在终端输入rvm -v的话、看到rvm版本信息就表示已经安装成功了、如果source .bash_profile不行的话、试试清空掉.bash_profile文件、改成这句
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM function
当然都是在用户目录下执行的、不是用户目录依然要这么写~/.bash_profile
++++++++++++++++++++++++++++++++++++++++
注意啦、这个是RVM官方的安装方法、但每个 linux的发行版本都是不一样的!在这里ubuntu里是没有.bash_profile这个文件的、莪们当然可以新建一个.bash_profile再把这个语句加上去、但这样会有问题、比如会导致ll这些命令用不了和其它稀奇古怪的事情发生、注意啦!!!在ubuntu的用户主目录下、.profile就是一般linux版本的.bash_profile、所以上面的操作如果是在ubuntu里面安装统统要改成在.profile这个文件里添加 !!
++++++++++++++++++++++++++++++++++++++++
三、安装rails依赖包:输入rvm requirements ,按提示信息安装所有依赖包:
复制包列表,再输入 sudo apt-get install ,按ctrl+shift+V快捷键把包列表复制到命令行,回车运行安装。
sudo apt-get install build-essential bison openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf
已经安装完了以上工具、再执行第一条命令便可以了、记得不要使用sudo来安装、如果迩使用sudo安装、那么会把rvm安装到了root用户底下、所以迩基于一切的rvm设置都要基于root了、所以不要使用sudo来安装rvm、如果迩想在root和当前用户都能用、那已经涉及到多用户安装rvm的问题了、现在这个问题暂时先搁下先、
安装好rvm后,检测rvm info;
执行命令
rvm install 1.9.2
迩要是想装其它的版本就按此格式改好了、rvm是一个多版本管理工具、所以迩再安装1.8.7和1.9.3也是没问题的、问题是到时怎么切换回1.9.2、莪们可以用这个命令、
rvm use 1.9.2
这样便可以随时切换回1.9.2了、不过只要迩关闭了这个终端或者新起一个终端、迩又要重新执行过一次这个命令、所以迩可以执行以下的命令来现实永久的切换
rvm --default use 1.9.2
ok、目录为止迩可以任意使用ruby -v或者gem -v来确认是否安装好ruby、
五、使用gem install rails便可以顺利安装rails
有一点要注意的、莪们刚刚是以单用户方式来安装rvm的、所以当迩在系统分区或者非当前用户权限可以访问的地方建立rails项目、是被禁止的、因为当迩想在非权限范围内的地方、只能使用sudo来临时调用root权限来建立、但这样问题来了、因为rvm只安装在当前的用户、所以对于root用户来说是未安装rvm的、这回有权限却不能使用rails命令、所以通过单用户安装rvm的话、rails项目只能建立在当前用户权限范围内的目录、推荐用户目录
六,新建一个rails项目:
rails new demo
cd demo
运行 rails server
如果提示没有javascript runtime 则需要安装,可选 Node.js:
#注意,我并没有安装到自定义目录下,而是装到usr/local
安裝 Nodejs 套件
兩種方法:1.用 apt-get install nodejs 2. 用 tar 方式原始編譯
原始編譯過程如下:
$ tar -zxvf node-v0.4.10.tar.gz
$ cd node-v0.4.10 /
$ . /configure --prefix=~ /opt /node
到這裡,如果 compiler 成功,就會產生出 Makefile,如果中間遇到錯誤訊息,大概都是套件沒有安裝,接著執行
將執行檔路徑放到 PATH
修改 ~/.bashrc,增加底下
export NODE_PATH= "$HOME/opt/node:$HOME/opt/node/lib/node_modules"
# 重新執行 shell 或者是重新登入即可
source ~ /.bashrc
七、其他 #注意:后面步骤我没有试过,故没有建议。
P.S.:有些同学会碰到执行gem install rails的时候会报出错误、缺少zlib这样什么什么的、这可能就是安装ruby的时候没有安装了这个依赖包、估计是被墙掉的、于是莪们执行
rvm pkg install zlib
如果还是报错、应该就是网络爬不上去、被墙了、=。 =、这个时候迩就需要自己下zlib的包放在本地目录.rvm/archives里(如果迩是多用户的形式来安装的话、那么就是位于/usr/local/rvm/archives下)、然后再执行这个命令就OK了、以后有什么使用rvm pkg install命令不能直接网络安装的都要自己下载离线包去archives目录、然后再把原来的ruby1.9.2卸载掉以依赖包安装、执行以下命令就OK啦
rvm remove 1.9.2 rvm install 1.9.2 --with-zlib-dir=$rvm_path/usr
类似的问题还有openssl、启动rails s时、也会报错、同样是要在rvm上安装openssl、然后--with-openssl-dir啊啊啊这样子、所以莪的建议是、索性在安装的时候、pkg zlib、pkg openssl、pkg啊啊啊的、然后再rvm install 1.9.2 --with-zlib-dir=$rvm_path/usr --with-openssl-dir=$rvm_path/usr啊啊啊完咯
P.S.2:linux下安装rails真是折腾、如果迩启动rails s的过程中、遇到启动错误、sqlite3报错!An error occured while installing sqlite3 (1.3.4), and Bundler cannot continue.
Make sure that `gem install sqlite3 -v '1.3.4'` succeeds before bundling.
那么执行以下命令就可以了
apt-get install libsqlite3-dev
接着迩便可以进入目录下用rails然后启动服务器、对了、对于新启动的rails项目、都要在Gemfile文件里添加Javascript解析器
gem 'execjs' gem 'therubyracer'
然后在项目的根目录执行一次bundle install完成后就可以了
如果迩想在rails使用postpgsql的数据库、只需要在Gemfile里面加入gem 'pg'再执行bundle install就可以了、
如果报出了错误
Building native extensions. This could take a while…
ERROR: Error installing pg:
ERROR: Failed to build gem native extension.
那么安装以下组件就可以了
sudo apt-get install libpq-dev
以上方法是单用户方式安装rvm的、如果迩想安装多用户、那么安装rvm时必须以sudo来安装、而且不能使用root用户来安装、执行
sudo bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer )
P.S.:当迩决定使用多用户方式来安装之前、请确保已经拥有了root用户、或者先修改一下/etc/sudoers这个文件、不然会造成修改后无法使用sudo命令会让迩欲哭无泪了
这样子的话就会把rvm安装至/usr/local/rvm目录、而不是单用户时的~/.rvm/目录、而且也会在/etc/profile.d/rvm.sh生成一个初始加载的shell、
然后把需要加用的用户加入到rvm组、比如迩的用户是klobohyz、
sudo usermod -G rvm klobohyz
这样就ok了、不过还不能使用、必须先登出再登入才能使用、这样子就可以使用rvm命令了、注意、登入后不要再切换其它的用户、否则rvm又会失效、这个时候迩需要重新登录该用户就可以了、如果迩重新登录出现当前用户无法再使用sudo这个命令的话、请参考这个文章:http://www.cnblogs.com/klobohyz/archive/2011/12/22/2297392.html
参考: