ubuntu11.10 rvm配置ruby on rails 环境

来源:互联网 发布:可变数据喷码机报价 编辑:程序博客网 时间:2024/05/22 04:46

sudo apt-get install build-essential

sudo wget ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p0.tar.bz2

sudo tar jxvf ruby-1.9.2-p0.tar.bz2

sudo cd ruby-1.9.2-p0

sudo ./configure -prefix=/usr/local/ruby #指定安装路径

sudo make && make install


#设置环境变量:

#由于ubuntu10.0.4自带了gedit,所以直接用gedit即可:

sudo ln -s /usr/local/ruby/bin/ruby /usr/bin/ruby

sudo ln -s /usr/local/ruby/bin/gem /usr/bin/gem

sudo gedit /etc/environment


#我的环境变量值如下:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/ruby/bin"


#如果有其它的ruby,可以加在前面。

#虽然用source /etc/environment也可以生效,但是最好还是重启一下,因为有时候还是找不到ruby。

#然后就可以通过命令 ruby -v查看当前ruby是否是最新的1.9.2了。

#不过如果使用gem list,就会出错,提示找不到zlib这个库:

#no such file to load -- zlib (LoadError)

#ubuntu的话,可以sudo apt-get install zlib1g-dev


然后进入ruby-1.9.2-p0/ext/zlib目录运行下面代码

sudo ruby extconf.rb

sudo make && make install


安装mysql

sudo apt-get install mysql-server


修改mysql编码为UTF-8:

$sudo gedit /etc/mysql/my.cnf

在[mysql]

default-character-set=utf8

[mysqld]


default-character-set=utf8

init_connect='SET NAMESutf8'

在[client]

default-character-set=utf8


进入mysql查看编码

mysql命令: show variables like'character%';


#安装thin服务器

apt-get install openssl

apt-get install libssl-dev

apt-get install libopenssl-ruby1.9.1

#然后进入ruby-1.9.2-p0/ext/openssl目录运行下面代码

ruby extconf.rb

sudo make && make install

sudo gem install thin


#安装rails

sudo gem install rails


#安装sqlite3驱动

sudo apt-get install libsqlite3-dev

sudo gem install sqlite3-ruby


#安装mysql驱动

sudo apt-get install libmysqlclient-dev

sudo gem install mysql2


#安装nginx+passenger

sudo gem install passenger

passenger-install-nginx-module

#安装完成后(我的装在/usr/local/nginx目录)

$ /usr/local/nginx/sbin/nginx #启动nginx

$ /usr/local/nginx/sbin/nginx -s stop #停止nginx

使用RVM在ubuntu下安装ruby&rails
1.安装git
          sudo apt-get install build-essential git-core curl  
2.安装rvm
          bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer )
    记得不要使用sudo来安装,如果迩使用sudo安装,那么会把rvm安装到了root用户底下,所以你基于一切的rvm设置都要基于root了,所以不要使用sudo来安装rvm
3.配置
          echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"' >> ~/.bashrc 
          . ~/.bashrc  
4.安装其他所需文件
   先在主文件夹下找到".profile"文件在最下面添加[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM function(这个是隐藏文件crtl+h可以显示)
       首先输入
           rvm -v 
        确认你是否安装好了rvm (收到如下的信息就是安装好了
                    rvm 1.10.3 by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.beginrescueend.com/])
       再输入
          rvm requirements 

       获取下一步应该安装的文件
 
jia@jiaLenovo-G6:~$      rvm requirements
Requirements for Linux ( DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=11.10
DISTRIB_CODENAME=oneiric
DISTRIB_DESCRIPTION="Ubuntu 11.10" )
NOTE: 'ruby' represents Matz's Ruby Interpreter (MRI) (1.8.X, 1.9.X)
             This is the *original* / standard Ruby Language Interpreter
      'ree'  represents Ruby Enterprise Edition
      'rbx'  represents Rubinius
bash >= 4.1 required
curl is required
git is required (>= 1.7 for ruby-head)
patch is required (for 1.8 rubies and some ruby-head's).
To install rbx and/or Ruby 1.9 head (MRI) (eg. 1.9.2-head),
then you must install and use rvm 1.8.7 first.
Additional Dependencies:
# For Ruby / Ruby HEAD (MRI, Rubinius, & REE), install the following:
  ruby: /usr/bin/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
# For JRuby, install the following:
  jruby: /usr/bin/apt-get install curl g++ openjdk-6-jre-headless
  jruby-head: /usr/bin/apt-get install ant openjdk-6-jdk
# For IronRuby, install the following:
  ironruby: /usr/bin/apt-get install curl mono-2.0-devel
安装apt-get后面的东西  全安装好
然后rvm就已经安装好了、但还不能直接通过终端在任何位置使用rvm命令、所以莪们先把rvm加入linux的shell命令先、进入用户目录、简单的输入下cd ~就可以了、使用任何工具编辑.bash_profile这个文件、可以使用vi、当然也可以使用gedit、输入命令
          vi .bashrc
如果当前目录不是用户目录、命令改成
          vi ~/.bashrc
这样在任何地方都可以修改这个文件、再在最底下添加一行
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function
保存便可以了、然后再执行一下source .bashrc,在终端输入rvm -v的话,看到rvm版本信息就表示已经安装成功了,如果source .bashrc不行的话、试试清空掉.bashrc文件,改成这句
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM function
5.安装ruby
          rvm install 1.9.2
你要是想装其它的版本就按此格式改好了,装好ruby1.9.2之后,还要做些事情,事实是rvm是一个多版本管理工具,这点大家要记得,所以迩再安装1.8.7和1.9.3也是没问题的问题是到时怎么切换回1.9.2,我们可以用这个命令
          rvm use 1.9.2
这样便可以随时切换回1.9.2了、不过只要迩关闭了这个终端或者新起一个终端、迩又要重新执行过一次这个命令、所以迩可以执行以下的命令来现实永久的切换
          rvm use 1.9.2 --default
你可以任意使用ruby -v或者gem -v来确认是否安装好ruby。
6.安装rails
          gem install rails
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,解决方法一样
7.出现gem install mysql  安装不上去的时候执行sudo apt-get install libmysqlclient15-dev  然后就可以顺利的安装 gem install msyql/mysql2  了  然后gem list 查看有没有安装上去   这个没有安装好肯能会导致rails server 不能执行  说是得 bundle install   但是不安装好mysql2  这个也不能安装




ps:自己边安装边记录的,可能会由于每个人的电脑环境不同而有出入,具体的解决方法嘛,我也是个新手,不太了解,如果有问题去ruby china/wiki里面寻求真相吧  http://ruby-china.org/wiki

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Rails的运行时配置是由config目录下的文件来控制的。

1.       运行时环境(Runtime environment)

当开发者编写代码时,需求是多中多样的。在开发中你可能会需要很多的登录,加载变化过的代码。在测试时,你需要各个系统之间是隔离开的。在发布之前,你可能需要进行性能优化,并且时用户远离bug。

为了支持这一切,Rials有运行时配置的概念。每一个环境都拥有自己的一组配置,可以在不同的环境中运行同一个应用程序。

切换运行环境可以使我们不用修改代码就可以从开发切换到测试再切换到发布。怎样指定运行环境呢?这取决于你怎样运行你的程序,如果你使用了script/server,并且使用了-e参数:

Depot > ruby script/server –e development|test| production

如果你使用apche或者lighttpd,就要设置RAILS_ENV的环境变量,我们在后面再介绍。

如果你有特殊的需求,你可以创建自己的环境(environment),你需要向数据库配置中添加自己的配置节,并且在config/environment文件夹中添加一个配置文件。

2.       配置数据库链接

文件config/database.yml被用来配置数据库链接,你会发现它包括三个配置节,每个配置节都以环境名字开始,后面紧跟一个冒号。下面的行必须缩进,内容时key和对应的值,两者之间用冒号隔开。最少的情况下,每个配置节必须指定一个数据库适配器(database adapter)和使用的数据库,诸如Mysql,Postgres等等。数据库适配器有自己的特定的配置,完整的列表我们将在后面列出来。下面时我们目前depot程序的database.yml文件:

development:

  adapter: mysql

  database: depot_development

  username: 

  password:

  host: localhost

 

# Warning: The databasedefined as 'test' will be erased and

# re-generated from yourdevelopment database when you run 'rake'.

# Do not set this db tothe same as development or production.

test:

  adapter: mysql

  database: depot_test

  username: 

  password:

  host: localhost

 

production:

  adapter: mysql

  database: depot_production

  username: root

  password: prod

  host: wibble

如果你需要在不同的数据库上运行自己的程序,你需要有一组配置,如果仅仅是数据库链接有不同,你可以在database.yml中创建多个配置节,配置节的名字由环境名和数据库名字组成,并且在yaml文件中指定配置节,例如下面这样:

# Change the followingline to point to the right database

development:development_sqlite

development_mysql:

adapter: mysql

database: depot_development

host: localhost

username:

password:

development_sqlite:

adapter: sqlite

dbfile: my_db

如果改变数据库的同时还改变了程序配置的其他地方,你可以在database.yml文件里创建多组配置,同时,还需要在environment目录下添加对应的文件。

3.       环境(environment)

一个Rails程序的运行时配置(Runtimeconfiguration)由两个文件完成,一个是config/environment.rb,并不依赖于具体环境。第二个文件依赖于环境,Rails根据当前的环境名在config/environment目录里查找对应的文件,并且在处理environment.rb的时候加载这个文件。标准的三种环境作为默认配置已经包含了,我们可以在config/environment目录下看到三个文件:development.rb,production.rb,test.rb,如果有特殊的环境要求,我们可以在这里添加配置文件。

典型的环境文件(Environment files)主要作下面的事情:

l        设置Ruby的加载路径,这样你的程序就知道到哪里加载Model或者View了。

l        创建程序所用到的一些资源,比如Log。

l        提供一组配置设置,不但时给Rails,也是给我们的程序。

4.       加载路径(LoadPath)

标准的配置环境下,会自动加载下面的目录到程序的加载路径(Load Path)中:

l        Test/mocks/environment,在这里定义的类会覆盖掉真正的版本,可以使我们在测试时使用一些桩代码,在前面我们已经介绍过。

l        App/model目录下所有以小写字母开头和包含有下划线的文件和组件。

l        目录app,app/models,app/controllers,app/helpers,app/apis,components,config,lib,vendor,和vendor/Rails/*。

5.       程序范围内的资源(Application-wide Resource)

Environment.rb文件创建一个Logger来向log/environment.log文件中记录信息,并且设置这个logger给Active Record,ActionController,Action Mailer,除非你的环境配置文件已经给这些部件设置了自己的Logger。

Enbironment.rb文件还告诉Action Controller和ActionMailer使用app/views作为查找模板(Template)时的开始点。同时,也可以被环境指定的配置(environment-specific configurations)所覆盖。

6.       配置参数(ConfigurationParameters)

原创粉丝点击