linux下安装ruby方法!

Python013

linux下安装ruby方法!,第1张

linux下ruby编程环境的安装和配置,方法如下:

1、去ruby官方下载安装包,下载地址:http://www.ruby-lang.org/en/downloads/

2、解压缩下载的ruby-1.9-stable.tar.gz安装包,进入目录。

su 

#./configure -prefix=/usr/local/ruby-1.9

#make

#make install

此时可能出现的错误:

echo executable host ruby is required.  use --with-baseruby option.

false ./tool/generic_erb.rb -c -o known_errors.inc

./template/known_errors.inc.tmpl ./defs/known_errors.def

executable host ruby is required. use --with-baseruby option.

make: *** [known_errors.inc] Error 1

出现此问题的原因在于1.9版本的ruby编译需要系统默认安装旧版本的ruby,而ubuntu中默认没有安装。

3、解决方法:

sudo apt-get install ruby

#默认ubuntu10.10会自行安装ruby 1.8,之后再编译1.9就没问题了。

下载1.8.7版本源码编译安装,并设置临时环境变量 ,进入1.8源码目录

su

#./configure -prefix=/usr/local/ruby-1.8

#make && make install

export PATH=/usr/local/ruby-1.8/bin:$PATH

#此时使用ruby -v验证版本为1.8

4、在刚才安装配置ruby1.8的终端中继续重新进行1.9的编译安装,进入1.9源码目录:

    #解压文件  

    tar vfxz ruby-1.9.1-p0.tar.gz  

    #进入解压后的文件夹  

    cd ruby-1.9.1-p0/  

    #编译源码,编译之前,应该先对/usr/local/ruby-1.9.1文件夹设置权限.  

    ./configure --prefix=/usr/local/ruby-1.9.1  

    #大名鼎鼎的 make 和 install  

    make && make install  

    #设置PATH路径,把安装的ruby放在系统PATH前面,避免调用操作系统自带的ruby  

    export PATH=/usr/local/ruby-1.9.1/bin:$PATH  

    #在 ~/.profile 文件中增加了这样的代码:  

    if [ -d "/usr/local/ruby-1.9.1/bin" ]  then  

        PATH="/usr/local/ruby-1.9.1/bin:$PATH"  

    fi  

    然后 注销 再登陆一次. 

    #如无意外  

    ruby -v  

    #ruby 1.9.1p0 (2009-01-30 revision 21907) [i686-linux]        

    #ruby 1.9.1安装成功了.

注意:之前安装了1.8版本ruby,可以直接通过rm -rf /usr/local/ruby-1.8删除即可。

清除旧版Ruby,若存在

yum remove ruby

若为源码,使用如下命令

cd <your-ruby-source-path>make uninstall

下面开始安装Ruby

一、下载Ruby源码包

wget ftp://ftp.ruby-lang.org/pub/ruby/2.1/ruby-2.1.7.tar.gz

二、解压安装Ruby

tar zxvf ruby-2.1.7.tar.gz

./configure --disable-install-rdocmakemake prefix=/usr/local install

三、安装Bundler Gem

由于AWS被墙无法使用,修改ruby的源为淘宝

gem sources --remove https://rubygems.org/gem sources -a https://ruby.taobao.org/gem sources -l

gem install bundler --no-doc

添加以下软连接,否则可能提示找不到

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

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

ln -s /usr/local/bin/bundle /usr/bin/bundle  

四、查看验证

[root@hyxc ~]# which ruby

#/usr/local/bin/ruby

[root@hyxc ~]# which gem

#/usr/local/bin/gem

[root@hyxc ~]# which bundle

#/usr/local/bin/bundle

[root@hyxc ~]# ruby -v

#ruby 2.1.7p400 (2015-08-18 revision 51632) [x86_64-linux]

Ruby 是一个源自于日本的程式语言,并且由于 Ruby on Rails 这套便于快速开发网页应用程式的框架而在近年走红,如果你从事网页相关开发工作,我想大概已经听过 Ruby on Rails 这套网页框架,但或许你分不太出来 Ruby 以及 Rails 的差别,以及 Ruby 除了 Rails 之外、还能用来做些什么?

与其他常见的程式语言相比,Ruby 具备了更有弹性的语法,在 Ruby 的哲学当中,通常要完成某个行为不一定只有一种方法,往往会有数种不同的方法让开发者选择。也因为这样的弹性,通常开发者会透过 Ruby 设计「特定领域语言」(Domain Specific Lanauge)来解决问题,有点像是我们平常讲的是中文、但是会透过中文定义一组针对「法律」相关问题的「法律语言」。

Ruby on Rails

不过当然,Ruby on Rails 还是多数人接触 Ruby 语言的主要原因,同样使用 DSL 的设计概念,Rails 标榜著以下两个设计哲学:

1. 惯例大于设定(convention over configuration),在多数的情况下都使用 Rails 预设的设定,而减少手动去指定各项参数

2. 不重复(Don’t repeat yourself),尽量减少重复的程式码复制贴上到各处,而用比较有架构、组织的方式重用

在开发上速度很快,加上 Rails DSL 的语法相当简易,透过Rails Girls 这样的新手教学活动,几乎在一天之内就可以做出简单的网站。也因此很多人甚至常常开玩笑说会写 Rails 不见得会写 Ruby。

说了这么多,作为一个长期的社群参与者以及 Ruby 语言的使用者,在今年当中我观察到很多迹象,都显示目前是大家尚未入门要学习的好时机。主要原因有三个:

广泛地被大小企业采用

以前提到 Ruby 或 Rails 的使用状况往往我们会想到的都是新创或网路公司的例子,但近年来越来越多传统企业在面对网应用路开发需求时,也纷纷选择 Rails 作为主要架构,像是在国内的部分,我们可以发现在社群的求职看板上,包含知名连锁书局、纺织业等等的例子。

Ruby 以及 Rails 的效能有很大的进步

以往通常 Rails 开发者都会被其他语言的开发者嘲笑在速度上可能不佳,但在近期的改版当中,Ruby 2.1 以及 Rails 4.1 都有很大的效能进步,是有史以来最快的版本。

社群以及教育资源遍地开花