linux(ubuntu)下ruby开发环境搭建

env setup

linux(ubuntu)下ruby开发环境搭建,包括一些常见问题解决

 

注意,本文只是我在搭建ruby学习环境时的一些笔记,因为是用gedit编辑的,所以格式化不是很好,另外,只是备忘而已。

2010.1.19

1. install ruby
$ tar xzf ruby-1.8.7-p248.tar.gz
$ mv ruby-1.8.7-p248 ruby187
$ cd ruby187/
$ ./configure
$ make
owen@owen-desktop:~/softinstall/ruby/ruby187$ make test
test succeeded
owen@owen-desktop:~/softinstall/ruby/ruby187$ sudo make install
owen@owen-desktop:~/softinstall/ruby/ruby187$ ruby -version
ruby 1.8.7 (2009-12-24 patchlevel 248) [i686-linux]
-e:1: undefined local variable or method `rsion' for main:Object (NameError)
owen@owen-desktop:~/softinstall/ruby/ruby187$ which ruby
/usr/local/bin/ruby

2. intall Rails through RubyGems
2.1 intall gems
$ tar xzf rubygems-1.3.4.tgz
$ cd rubygems-1.3.4/
$ sudo ruby setup.rb
Installing RubyGems
Installing gem executable
Removing old source_cache files
Removing old RubyGems RDoc and ri
Installing rubygems-1.3.4 ri into /usr/local/lib/ruby/gems/1.8/doc/rubygems-1.3.4/ri
Installing rubygems-1.3.4 rdoc into /usr/local/lib/ruby/gems/1.8/doc/rubygems-1.3.4/rdoc

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

Oh-no! Unable to find release notes!

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

RubyGems installed the following executables:
    /usr/local/bin/gem

2.2 install rails through RubyGems
sudo gem install rails --include-dependencies

3. create a simple App
新建一个目录mkdir rubydev
cd rubydev
使用rails命令创建web app
rails hello
这样一个叫hello的web应用程序框架就创建好了,现在需要做的就是添加自己的业务逻辑
cd hello
使用如下命令创建一个名为App的控制器
ruby script/generate controller App
这时可能会出现如下错误,报告无法加载openssl库:
owen@owen-desktop:~/devspace/rubydev/hello$ ruby script/generate controller App
/usr/local/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:271:in `require_frameworks': no such file to load -- openssl (RuntimeError)
……
在ubuntu下可以使用如下命令解决此问题:
apt-cache search openssl
sudo apt-cache install 相关依赖包
然后进入到ruby的安装目录,使用
owen@owen-desktop:~/softinstall/ruby/ruby187/ext/openssl$ ruby extconf.rb
……
=== Checking done. ===
creating extconf.h
creating Makefile
Done.
owen@owen-desktop:~/softinstall/ruby/ruby187/ext/openssl$ make
owen@owen-desktop:~/softinstall/ruby/ruby187/ext/openssl$ make install
然后再执行命令创建一个名为App的控制器:
owen@owen-desktop:~/devspace/rubydev/hello$ ruby script/generate controller App
      exists  app/controllers/
      exists  app/helpers/
      create  app/views/app
      exists  test/functional/
      create  test/unit/helpers/
      create  app/controllers/app_controller.rb
      create  test/functional/app_controller_test.rb
      create  app/helpers/app_helper.rb
      create  test/unit/helpers/app_helper_test.rb
owen@owen-desktop:~/devspace/rubydev/hello$
注意到了吧,这个create  app/controllers/app_controller.rb就是给创建的控制器哦
打开进行编辑$ gedit app_controller.rb
hello/app/views/app$ gedit greeting.html创建试图页面
<html>
  <head>
    <title>Ruby on Rails</title>
  </head>
  <body>
    <h2>Yes, it's working!</h2>
  <body>
<html>
好了,可以启动Rails自带的一个web服务器来测试一下了.
owen@owen-desktop:~/devspace/rubydev/hello$ ruby script/server
=> Booting WEBrick
=> Rails 2.3.5 application starting on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2010-01-19 11:07:26] INFO  WEBrick 1.3.1
[2010-01-19 11:07:26] INFO  ruby 1.8.7 (2009-12-24) [i686-linux]
[2010-01-19 11:07:32] INFO  WEBrick::HTTPServer#start: pid=3446 port=3000
这样,WEBrick就在3000端口启动好了,输入http://localhost:3000会看到欢迎页面。
但当我访问我的应用时,http://localhost:3000/app/greeting时后台报错
no such file to load -- sqlite3
……
经过google,baidu后,发现是没有安装sqlite数据库和驱动的原因,因为ruby1.8默认数据库是sqlite,所以现在需要安装:
$ sudo apt-get install libsqlite3-dev
$ sudo gem install sqlite3-ruby
这样就安好了,然后如果你要欢成mysql数据库的话,同样需要安装数据库和驱动,如下:
$ sudo apt-get install mysql-server mysql-client
$ sudo apt-get install libmysql-ruby libmysqlclient-dev
$ sudo gem install mysql
现在再执行,
$ ruby script/server
启动好WEBrick服务器后,就可以访问到自己的web应用了,尽管很小,呵呵。
好了,到这里,你的第一个ruby rails web应用已经完成了。

当然,你或许比较习惯使用mysql数据库,那么,只要在使用rails创建应用时,加上一个-d mysql参数,就可以设置该应用程序后端使用的是mysql。如下:
$ rails blog -d mysql
这样,在config/database.yml文件中会是这样的:
development:
adapter: mysql
encoding: utf8
database: blog_development
pool: 5
username: root
password:
socket: /tmp/mysql.sock
到这里,基本的环境已经OK了,后面需要的是理论于实践的结合,还要好好学习才是哦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值