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 都有很大的效能进步,是有史以来最快的版本。
社群以及教育资源遍地开花