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

寻技术 Linux / Ruby编程 2023年07月13日 112

前文《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"  

重新启动服务一切正常。

关闭

用微信“扫一扫”