Ruby開發入門


開發環境搭建

首先安裝Ruby SDK,我安裝的版本是2.0。以後安裝IDE,這裏用的是Jetbrain的RubyMine 5.4.3,注意是否支持對應版本的Ruby SDK。



一段神奇的註冊碼...

如今最新版本是4.0.2, 使用這個key仍然有效, 對於這個沒什麼好說的, 若有必要,請支持購買正版。html

No.1:mysql

name: rubymine
License Key:git

70414-12042010
00002VG0BeoZbwmNAMNCx5E882rBEM
Ysn1P!e"s830EDlHcWg8gmqYVkvZMo
Injf4yqlO1yy"82NiwNzyYInoT7AiX
github

No.2:sql

username:EMBRACE
license key:
89330-12042010
00001p4HOxG8it!A4uOcpk1E"boEjk
v!tn2JZJC8Jw4hVlEmviJ0ge461sTw
owxcaVPQvd1gQzGxOpt2rElKQ3"R7w
數據庫


用在最新版5.4.3上居然也能夠!太神了吧!



開始Ruby之旅

在RubyMine Settings->Ruby SDK and Gems中配置好Ruby SDK後(RubyMine能自動找到安裝好的SDK的位置),
就能夠寫咱們最熟悉的HelloWorld的Ruby版了。打開RubyMine後,新建一個空工程,在裏面添加一個Ruby Class文件,輸入內容以下:

1
2
3
4
5
6
7
8
9
10
11
class  Hello
 
   def  say
     str =  'hello world!!!'
     5 .times { puts str }
   end
 
end
 
hello = Hello. new ()
hello.say

執行效果就是在控制檯輸出五遍hello world!!!。



Rails入門

想要建立一個Rails工程,首先要經過Gems安裝Rails包。新的Ruby SDK中都已包含了Gems管理器,因此不用再安裝了。
在Settings->Ruby SDK and Gems下,點擊Install Gems。



實際上這與直接執行SDK中的Gems批處理是同樣的:

1
gem install rails --version "= 4.0.0" --no-ri --no-rdoc

若是網速太慢,能夠直接手動下載Gem後安裝。Rails的下載連接是 http://rubygems.org/gems/rails

1
gem install rails-4.0.0.gem --verbose --no-ri --no-rdoc



常見安裝問題

1.爲何Gems安裝這麼慢?

若是發現安裝過程很慢,就用--verbose參數查看究竟是卡在了哪裏,通常多是網絡問題。能夠經過sources命令管理源地址,
只保留一個淘寶的鏡像地址。

1
2
3
4
5
6
7
8
#列舉全部源
gem sources
 
#添加一個源
gem sources -a "http://ruby.taobao.org"
 
#刪除一個源
gem sources -r "https://rubygems.org"

其餘經常使用的源有:

1
2
3
4
http: //rubygems .org/  
http: //gems .github.com  
http: //gems .rubyforge.org  
http: //ruby .taobao.org

2.找不到依賴項

安裝rails 4時報錯:Unable to resolve dependencies: rails requires actionmailer (= 4.0.0)

1
2
#更新RubyGem管理器
gem update --system



2013年11月2日 六

1.能夠直接安裝RailsInstaller,節省下載Gems包的時間。

2.但安裝Mysql Gems包時碰到了錯誤:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
ERROR:  Error installing mysql2:
         ERROR: Failed to build gem native extension.
 
         D:/RailsInstaller/Ruby1.9.3/bin/ruby.exe extconf.rb
checking for rb_thread_blocking_region()... yes
checking for rb_wait_for_single_fd()... yes
checking for rb_hash_dup()... yes
checking for rb_intern3()... yes
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.
 
Provided configuration options:
         --with-opt-dir
         --without-opt-dir
         --with-opt-include
         --without-opt-include=${opt-dir}/include
         --with-opt-lib
         --without-opt-lib=${opt-dir}/lib
         --with-make-prog
         --without-make-prog
         --srcdir=.
         --curdir
         --ruby=D:/RailsInstaller/Ruby1.9.3/bin/ruby
         --with-mysql-dir
         --without-mysql-dir
         --with-mysql-include
         --without-mysql-include=${mysql-dir}/include
         --with-mysql-lib
         --without-mysql-lib=${mysql-dir}/lib
extconf.rb:37:in `<main>': undefined method `[]' for nil:NilClass (NoMethodError
)
 
 
Gem files will remain installed in D:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9
.1/gems/mysql2-0.3.13 for inspection.
Results logged to D:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/mysql2-0.
3.13/ext/mysql2/gem_make.out

報錯的緣由是Gems mysql2 0.3.13找不到依賴的libmysql庫和頭文件。因此首先確認是否安裝了libmysql(即MySQL Connector/C),

即使安裝了libmysql,可能gem命令在安裝mysql2時也會找不到libmysql的庫和頭文件,因此執行gem install時直接經過參數指定:

1
2
3
4
gem install mysql2 --platform=ruby -- 
'--with-mysql-lib="C:\Program Files (x86)\MySQL\mysql-connector-c-noinstall-6.0.2-win32\lib" 
--with-mysql-include="C:\Program Files (x86)\MySQL\mysql-connector-c-noinstall-6.0.2-win32\include" 
--with-mysql-dir="C:\Program Files (x86)\MySQL\mysql-connector-c-noinstall-6.0.2-win32"'

這樣就能夠成功mysql2安裝了!但是運行Rails在加載mysql2.so時仍是會報Load Error錯誤,並且錯誤提示仍是亂碼!
查了好多文章最後終於在一老外的博客找到了答案,還須要作最後一步: 將Connector C\lib下libmysql.dll拷貝到Ruby\bin下
如今啓動Rails應用,終於能夠鏈接MySQL數據庫了!

3.若是不使用RailsInstaller,那麼用gem install時常常會報下面錯誤:

1
2
3
4
5
6
7
D:\Ruby200\bin>gem install rails --platform=ruby
ERROR:  Error installing rails:
         The 'atomic' native gem requires installed build tools.
 
Please update your PATH to include build tools or download the DevKit
from 'http://rubyinstaller.org/downloads' and follow the instructions

這是由於缺乏DevKit,而RailsInstaller已經集成了。首先安裝

1
2
3
4
5
6
7
8
> cd <DEVKIT_INSTALL_DIR>
> ruby dk.rb init
#生成config.yml,這裏會檢查將要添加DevKit支持的Ruby列表,只支持經過RubyInstaller安裝的Ruby
#若是這裏列出的Ruby與你的要求不符,能夠手動修改
> ruby dk.rb review  #檢查要添加DevKit支持的Ruby列表是否有誤,能夠略過
> ruby dk.rb install
[INFO] Updating convenience notice gem override for 'C:/Ruby192'
[INFO] Installing 'C:/Ruby192/lib/ruby/site_ruby/devkit.rb'

如今能夠執行gem install xxx --platform=ruby --no-ri --no-rdoc
相關文章
相關標籤/搜索