您的位置:首页 > 运维架构 > Linux

Ruby on Rails,Linux下安裝Rails开发环境

2012-09-09 00:36 387 查看
前文《Ruby on Rails,环境安装和Gems》中介绍了在windows环境下使用RailsInstaller搭建Rails开发环境的方法。有必要补充一下在类linux环境搭建环境的步骤,留存备用。

操作基于我本机虚拟的Ubuntu12.04LTS版本系统,步骤来自于网络,我自己亲身实践一遍而已。

安装之前先进行一下系统本身的更新,1.apt-get update更新软件包列表。2.apt-get upgrade更新已经安装的所有软件包

$ sudo apt-get update
$ sudo apt-get upgrade


安装必要的系统软件包。我执行这条命令时候,提示openss1 XX什么的我忘了,我把openssl去掉执行了一遍,单独又执行一遍就好了。原因未知,如果你也遇到相同的问题也可以这么试试。

$ 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 libc6-dev


ruby官网下载最新版本的源代码当前版本Ruby 1.9.3-p194

下载下来之后随便放在哪里,我放在了/home/abbuggy/下载/ruby-1.9.3-p194.tar.gz

可以双击打开使用归档管理器解压,也可以通过命令解压

$ cd '/home/abbuggy/下载/'
$ tar xvfz ruby-1.9.3-p0.tar.gz


进入解压后的目录执行

$ ./configure
....回显
$ ?make?
....<span style="font-family: 'Palatino Linotype', Palatino, Georgia, 'Times New Roman', Times, serif; ">回显</span>
$ sudo make install
....回显


这三歩完成之后输入以下命令可以看到安装后的软件版本,ruby安装完毕

$ git --version
git version 1.7.9.5
$ ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux]


通过ruby的gem工具安装rails和sqlite3

$ sudo gem install sqlite3


安装rails,从我自己的实测情况看这个过程比较长,从敲下去命令到有响应起码用了三四分钟的时间,我险些Ctrl+C给取消了,看来心态还是要放平一点。

$ gem install rails


察看安装的rails版本,安装成功。

$ rails -v
Rails 3.2.8


建一个HelloWorld试试

$ mkdir sites
$ cd sitest
$ rails new first_site
...


创建的过程最后会卡在“run bundle install”这里好几分钟,因为bundle install会自动去rubygems.org查找是否有更新。这里有个方法可以参考一下提高rails new时bundle install运行速度》,适用于不需要频繁更新gem的情况。

新的应用创建好了,使用rails server启动看看,oops!原来是没有javascript运行环境。

$ rails server
/usr/local/lib/ruby/gems/1.9.1/gems/execjs-1.4.0/lib/execjs/runtimes.rb:51:in `autodetect': Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)


需要引用两个gem分别是“execjs”和“therubyracer”,在应用跟目录下的GemFile中添加两行。这样启动的时候就会引用这两个gem了。

gem "execjs"
gem "therubyracer"


重新启动服务一切正常。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: