linux(ubuntu)下ruby开发环境搭建
env setuplinux(ubuntu)下ruby开发环境搭建,包括一些常见问题解决 注意,本文只是我在搭建ruby学习环境时的一些笔记,因为是用gedit编辑的,所以格式化不是很好,另外,只是备忘而已。2010.1.191. install ruby$ tar xzf ruby-1.8.7-p248.tar.gz $ mv ruby-1.8.7-p248
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)