ubuntu下ROR安装选择单用户或多用户

一、仅仅在当前用户下安装,则默认安装在$HOME/.rvm下,

二、也可装到另一个用户下,

三、多用户安装:非root,需要有2个以上用户,且安装时用sudo ,在/usr/local/rvm

使用RVM在ubuntu下安装ruby&rails

 

前面讲过如何在ubuntu下以源码方式安装ruby、不过这种方法始终会比较麻烦、莪们可以使用rvm来进行版本管理当然也能使用rvm来进行安装、这可是类linux专属的工具、哈哈、在linux安装rvm也是一条命令的事情、但在这之前、莪们需要安装一些其它的软件来确保程序能够安装、

一、首先要安装 curl 和 git;

sudo apt-get installcurl

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;

四、安装1.9.2     这个版本、现在是最适合的、虽然已经出了1.9.3

执行命令

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 方式原始編譯

     原始編譯過程如下:

     $ mkdir ~ /opt / && cd opt
    $ tar -zxvf node-v0.4.10.tar.gz
    $ cd node-v0.4.10 /
    $ . /configure --prefix=~ /opt /node

     到這裡,如果 compiler 成功,就會產生出 Makefile,如果中間遇到錯誤訊息,大概都是套件沒有安裝,接著執行

    $ make && make install

   將執行檔路徑放到 PATH

    修改 ~/.bashrc,增加底下

    export PATH= "$HOME/opt/bin/:$PATH"
    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

参考:

使用RVM在ubuntu下安装ruby&rails

http://www.cnblogs.com/klobohyz/archive/2011/11/20/2256518.html

Passenger/Nginx/Ubuntu快速部署Rails 3.1

http://ruby-china.org/topics/701

無痛安裝 NodeJS 和 Node Framework Express

http://blog.wu-boy.com/2011/08/%E7%84%A1%E7%97%9B%E5%AE%89%E8%A3%9D-nodejs-%E5%92%8C-node-framework-express/


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值