扔个地址 http://dist.codehaus.org/jruby/1.2.0/
刚才还在玩RC1
GOOGLE 时候 看到RC2
找到下载目录
看到正式版
16号晚发布的
MS 没看到新闻啊
难道是这两天rails 2.3发布正式版了
jruby 被冲掉了?
还是JRUBY 好啊
之前1.9.1 的数据库驱动问题
还有rack的问题
这段时间一直用jruby 玩ror

刚才还在玩RC1
GOOGLE 时候 看到RC2
找到下载目录
看到正式版
16号晚发布的
MS 没看到新闻啊
难道是这两天rails 2.3发布正式版了
jruby 被冲掉了?
还是JRUBY 好啊
之前1.9.1 的数据库驱动问题
还有rack的问题
这段时间一直用jruby 玩ror
总算是完成了ruby 1.9.1 和 rails 2.3 rc1 在cygwin 上的安装运行.
说说自己的安装经历吧(默认安装到/usr/local
首先安装cygwin
cygwin 安装的插件是
default + make + gcc + libiconv (后面编译需要) + openssl + git (从 github 拿gem 需要 当然也可以从网站直接下载) + vim (git 日
志使用)
cygwin下需要编译原文件
到ruby-lang(http://ruby-lang.org/) 下载ruby-1.9.1-p0.tar.gz
mkdir tmp
cd /tmp
将下好的gz 文件放到tmp文件夹
tar xvf ruby-1.9.1-p0.tar.gz
cd ruby-1.9.1-p0
./configure
make && make install
之后是sqlite3 (http://www.sqlite.org/download.html)
下载源代码
sqlite-3.6.10.tar.gz 放到tmp目录
tar xvf sqlite-3.6.10.tar.gz
mkdir bld
cd bld
../sqlite-3.6.10/configure -disable-tcl
make && make install
make sqlite3.dll
cp sqlite3.dll /usr/local/bin
最后是安装 sqlite3-ruby
gem install sqlite3-ruby (windows 死活搞不定的sqlite3-ruby 1.2.4
在说说 rails 2.3 rc 1 安装
gem install rake rack
gem install rails --source=http://gems.rubyonrails.org
rack 0.9.1 版不兼容 ruby 1.9.1 原因是 String.each method 被取消了
修改rack gem 目录下的
/lib/rack/handler/webrick.rb
原段落:
vs.each { |v|
res[k] = v
}
改为:
res[k] = vs
或者
到github 下载新的master 版
解压覆盖rack gem 目录下的文件
cd /usr/ruby/work
rails demo
cd demo
ruby script/server
此时提示找不到iconv.so (google 之后 似乎1.8.6以上版本不会自动生成iconv.so文件了
转到ruby 1.9.1 源代码处
cd /tmp/ruby-1.9.1-p0/ext/iconv
ruby extconf.rd (如果之前cygwin 安装是没有选择libiconv 此处可能会有错误 再次运行cygwin安装文件 安装吧
会生成makefile
make
生成iconv.so 文件
make install
或者
cp iconv.so /usr/local/lib/ruby/1.9.1/i386-cygwin/
再次cd /usr/ruby/work/demo
ruby script/server
这次提示找不到openssl
openssl.so 文件安装方法同iconv.so
搞定之后
ruby script/server
转到浏览器
127.0.0.1:3000
可以看到rails 页面了
About your aplication's environment
Ruby version 1.9.1 (i386-cygwin)
RubyGems version 1.3.1
Rails version 2.3.0
Active Record version 2.3.0
Action Pack version 2.3.0
Active Resource version 2.3.0
Action Mailer version 2.3.0
Active Support version 2.3.0
Application root /cygdrive/d/ruby/work/test/app
Environment development
Database adapter sqlite3
Database schema version 0
Ok

说说自己的安装经历吧(默认安装到/usr/local
首先安装cygwin
cygwin 安装的插件是
default + make + gcc + libiconv (后面编译需要) + openssl + git (从 github 拿gem 需要 当然也可以从网站直接下载) + vim (git 日
志使用)
cygwin下需要编译原文件
到ruby-lang(http://ruby-lang.org/) 下载ruby-1.9.1-p0.tar.gz
mkdir tmp
cd /tmp
将下好的gz 文件放到tmp文件夹
tar xvf ruby-1.9.1-p0.tar.gz
cd ruby-1.9.1-p0
./configure
make && make install
之后是sqlite3 (http://www.sqlite.org/download.html)
下载源代码
sqlite-3.6.10.tar.gz 放到tmp目录
tar xvf sqlite-3.6.10.tar.gz
mkdir bld
cd bld
../sqlite-3.6.10/configure -disable-tcl
make && make install
make sqlite3.dll
cp sqlite3.dll /usr/local/bin
最后是安装 sqlite3-ruby
gem install sqlite3-ruby (windows 死活搞不定的sqlite3-ruby 1.2.4
在说说 rails 2.3 rc 1 安装
gem install rake rack
gem install rails --source=http://gems.rubyonrails.org
rack 0.9.1 版不兼容 ruby 1.9.1 原因是 String.each method 被取消了
修改rack gem 目录下的
/lib/rack/handler/webrick.rb
原段落:
vs.each { |v|
res[k] = v
}
改为:
res[k] = vs
或者
到github 下载新的master 版
解压覆盖rack gem 目录下的文件
cd /usr/ruby/work
rails demo
cd demo
ruby script/server
此时提示找不到iconv.so (google 之后 似乎1.8.6以上版本不会自动生成iconv.so文件了
转到ruby 1.9.1 源代码处
cd /tmp/ruby-1.9.1-p0/ext/iconv
ruby extconf.rd (如果之前cygwin 安装是没有选择libiconv 此处可能会有错误 再次运行cygwin安装文件 安装吧
会生成makefile
make
生成iconv.so 文件
make install
或者
cp iconv.so /usr/local/lib/ruby/1.9.1/i386-cygwin/
再次cd /usr/ruby/work/demo
ruby script/server
这次提示找不到openssl
openssl.so 文件安装方法同iconv.so
搞定之后
ruby script/server
转到浏览器
127.0.0.1:3000
可以看到rails 页面了
About your aplication's environment
Ruby version 1.9.1 (i386-cygwin)
RubyGems version 1.3.1
Rails version 2.3.0
Active Record version 2.3.0
Action Pack version 2.3.0
Active Resource version 2.3.0
Action Mailer version 2.3.0
Active Support version 2.3.0
Application root /cygdrive/d/ruby/work/test/app
Environment development
Database adapter sqlite3
Database schema version 0
Ok
玩mswin32 版 ruby 1.9.1 没辙
rails 2.3 rc 1 安装正常
rack 0.9.1 修改后正常
但是这该死的数据库连接问题
sqlite3-ruby 1.2.3
与ruby 1.9.1 不兼容
曾经rails 2.3 rc1 报错 each Method
body.each 那行
害我修改啥的 弄半天
以为是rack问题
结果去翻日志
原来还是 sqlite3 driver 没有找到
想说放弃sqlite3 到mysql
mysql-ruby 2.8.1 兼容1.9.1 但无奈是windows
我没有安装编译环境
再到mysql 2.7.3
安装成功 但使用不成功
老是提示 specified module could not be found 大概这样的信息(具体忘了
查了PATH
mysql bin folder 在
ruby bin 也在
libmySQL.dll 也有放到相关目录
老是错误
哎
真的放弃了
投靠cygwin 去
ps.jruby 也是真的好啊
jdbc 无论是sqlite3 还是mysql 都是直接安装的

rails 2.3 rc 1 安装正常
rack 0.9.1 修改后正常
但是这该死的数据库连接问题
sqlite3-ruby 1.2.3
与ruby 1.9.1 不兼容
曾经rails 2.3 rc1 报错 each Method
body.each 那行
害我修改啥的 弄半天
以为是rack问题
结果去翻日志
原来还是 sqlite3 driver 没有找到
想说放弃sqlite3 到mysql
mysql-ruby 2.8.1 兼容1.9.1 但无奈是windows
我没有安装编译环境
再到mysql 2.7.3
安装成功 但使用不成功
老是提示 specified module could not be found 大概这样的信息(具体忘了
查了PATH
mysql bin folder 在
ruby bin 也在
libmySQL.dll 也有放到相关目录
老是错误
哎
真的放弃了
投靠cygwin 去
ps.jruby 也是真的好啊
jdbc 无论是sqlite3 还是mysql 都是直接安装的
无奈windows 环境下
sqlite3-ruby 没有1.2.4 编译
只能安装1.2.3
看作者的BLOG
Windows 编译工作给他造成很大麻烦
停止后续版本的windows 编译工作
征求其他人帮忙编译
不过结果似乎不太好呢
1.2.4 版 看反馈(都是MAC OS 平台的
没有问题呢
改道Mysql去

sqlite3-ruby 没有1.2.4 编译
只能安装1.2.3
看作者的BLOG
Windows 编译工作给他造成很大麻烦
停止后续版本的windows 编译工作
征求其他人帮忙编译
不过结果似乎不太好呢
1.2.4 版 看反馈(都是MAC OS 平台的
没有问题呢
改道Mysql去
测试rails 2.3 rc1
使用ruby 1.9.1
在cmd
执行rails -v
得到 The filename,directory name or volume label syntax is incorrect.
解决办法(solution)
打开ruby.bat
会看到
@"ruby.exe"" "D:/ruby/ruby 1.9.1/bin/rails" %1 %2 %3 %4 %5 %6 %7 %8 %9
和
@"ruby.exe"" "%~dpn0" %*
这里有两个双引号
改为
@"ruby.exe" "D:/ruby/ruby 1.9.1/bin/rails" %1 %2 %3 %4 %5 %6 %7 %8 %9
@"ruby.exe" "%~dpn0" %*
后
cmd rails -v
就正常了

使用ruby 1.9.1
在cmd
执行rails -v
得到 The filename,directory name or volume label syntax is incorrect.
解决办法(solution)
打开ruby.bat
会看到
@"ruby.exe"" "D:/ruby/ruby 1.9.1/bin/rails" %1 %2 %3 %4 %5 %6 %7 %8 %9
和
@"ruby.exe"" "%~dpn0" %*
这里有两个双引号
改为
@"ruby.exe" "D:/ruby/ruby 1.9.1/bin/rails" %1 %2 %3 %4 %5 %6 %7 %8 %9
@"ruby.exe" "%~dpn0" %*
后
cmd rails -v
就正常了
Jruby 使用jdbc 来连接数据库
首先需要这两个GEM
jdbc-sqlite3
activerecord-jdbcsqlite3-adapter
gem install jdbc-sqlite3
gem install activerecord-jdbcsqlite3-adapter
使用默认的rails 脚本生成project
定位到config 目录下的database.yml
修改 adapter 这行为jdbcsqlite3
即可使用数据库了
++++++++++
jruby script/server
http://localhost:3000/rails/info/properties
显示正常就表示OK
首先需要这两个GEM
jdbc-sqlite3
activerecord-jdbcsqlite3-adapter
gem install jdbc-sqlite3
gem install activerecord-jdbcsqlite3-adapter
使用默认的rails 脚本生成project
定位到config 目录下的database.yml
修改 adapter 这行为jdbcsqlite3
即可使用数据库了
++++++++++
jruby script/server
http://localhost:3000/rails/info/properties
显示正常就表示OK
写ROR,之前一直使用netbeans,因为只能,但是速度真的是很慢。在我的笔记本上,感觉尤为明显,特别是智能提示,找个method,要卡上几秒,不甚爽。关了智能提示吧,那还用netbeans干啥,一大特色功能啊,再加上启动慢,感觉更不好。
就寻到e,号称windows下的textmate,Macos 程序员使用textmate,让我手馋很久了,无奈没有Macos,安装黑苹果,失败了N次,就算了。想来浪费时间安装N次,还是攒钱买个MACBOOK,也当激励自己。
+++++++++回到正题+++++++++
e 试用1天了
感觉真的很棒
代码片段很爽
关键速度很快
小巧 启动好
内置大量bundles
包含RUBY ROR
编写速度上去了
39刀 也不是很贵
比textmate 便宜
如果macbook 没到手
就e用着吧
+++++++++++++++
关于e安装报错问题
看提示 应该是字符造成的
在网上看倒的解决方法
1、都忽略
然后下载textmate bundles 覆盖一边
2、到控制面板-语言区域-有个非unicode 字符显示
中文系统 默认是中国 简体
把它改为英文 美国
需要重启
重启后 安装就不会报错了
完成后再改回去
+++++++++
e 需要cygwin
以这次高级应用
最麻烦的还是这个
国内碰到cygwin
安装非常麻烦
速度真是慢啊
找个新加坡镜像
重试N次还没有安装成功
该死的网速
继续下载中T_T
就寻到e,号称windows下的textmate,Macos 程序员使用textmate,让我手馋很久了,无奈没有Macos,安装黑苹果,失败了N次,就算了。想来浪费时间安装N次,还是攒钱买个MACBOOK,也当激励自己。
+++++++++回到正题+++++++++
e 试用1天了
感觉真的很棒
代码片段很爽
关键速度很快
小巧 启动好
内置大量bundles
包含RUBY ROR
编写速度上去了
39刀 也不是很贵
比textmate 便宜
如果macbook 没到手
就e用着吧
+++++++++++++++
关于e安装报错问题
看提示 应该是字符造成的
在网上看倒的解决方法
1、都忽略
然后下载textmate bundles 覆盖一边
2、到控制面板-语言区域-有个非unicode 字符显示
中文系统 默认是中国 简体
把它改为英文 美国
需要重启
重启后 安装就不会报错了
完成后再改回去
+++++++++
e 需要cygwin
以这次高级应用
最麻烦的还是这个
国内碰到cygwin
安装非常麻烦
速度真是慢啊
找个新加坡镜像
重试N次还没有安装成功
该死的网速
继续下载中T_T
写了个简单的应用(不过是早期阶段
在提交表格到数据库的时候
出现 ActionController::InvalidAuthenticityToken 该错误
GOOGLE 之
原来是rails 防御跨站点攻击检测导致的(还特别是firefox有问题 IE正常...
http://api.rubyonrails.org/classes/ActionController/RequestForgeryProtection/ClassMethods.html#M000693
找到上述官方文档
一种解决办法是
整个关闭
在environment.rb中添加
config.action_controller.allow_forgery_protection = false
还有就是到controller 排除
以下是官方给的example
class FooController < ApplicationController
# uses the cookie session store (then you don't need a separate :secret)
protect_from_forgery :except => :index
# uses one of the other session stores that uses a session_id value.
protect_from_forgery :secret => 'my-little-pony', :except => :index
# you can disable csrf protection on controller-by-controller basis:
skip_before_filter :verify_authenticity_token
end
我的情况是create 这action 出错
直接 protect_from_forgery :exception => :create 搞定
这下正常了
在提交表格到数据库的时候
出现 ActionController::InvalidAuthenticityToken 该错误
GOOGLE 之
原来是rails 防御跨站点攻击检测导致的(还特别是firefox有问题 IE正常...
http://api.rubyonrails.org/classes/ActionController/RequestForgeryProtection/ClassMethods.html#M000693
找到上述官方文档
一种解决办法是
整个关闭
在environment.rb中添加
config.action_controller.allow_forgery_protection = false
还有就是到controller 排除
以下是官方给的example
class FooController < ApplicationController
# uses the cookie session store (then you don't need a separate :secret)
protect_from_forgery :except => :index
# uses one of the other session stores that uses a session_id value.
protect_from_forgery :secret => 'my-little-pony', :except => :index
# you can disable csrf protection on controller-by-controller basis:
skip_before_filter :verify_authenticity_token
end
我的情况是create 这action 出错
直接 protect_from_forgery :exception => :create 搞定
这下正常了
使用 1.9吧,第一次建立项目就出错了,说什么syntax 错误,Google 一把,没有什么结果,只好作罢,该用jruby.
jruby倒是建立项目成功,但是问题也有,那就是安装gem的问题,老是native extention XXX错误,gem 无法安装。跟着<>走,sqlite3-ruby死活安装不上。google 一把后 ,知道是平台的原因,看来要玩转ruby,windows是有点麻烦的,以后一定要熟悉macox 和linux. sqlite3-ruby怎么都安装不成功的情况下,改用mysql,那个activerecord-jdbcmysql-adapter倒是很顺利的就安装成功了。再来安装Mysql 5.1,这个直接有安装包可以下载,noproblem.
用netbeans 建立一个rails,到第三部数据库的时候,选择指定,mysql.
用户名root 密码 XXX 然后使用JDBC 连接
完成
到这里还是蛮顺利的
之后项目右键生成 say controller hello view
ok 启动项目
localhost:3000/say/hello
Error
载入 mysql 失败
XXXX
哎
继续GOOGLE 但是没找到啥东西
转而去翻netbeans 官方那里帖的教程
看到这么一行
mysqladmin -u fred -p create mydb_development
也许是我没有创建数据库
转cmd
mysqladmin -u xxx -p create demo_development
创建成功后
这下总算是成功看到该死的
Hello,Rails!
后记:实际过程还要长点
还要曲折点
不过成功了总是好的开始
继续修炼
菜鸟到高手都有个过程(给自己打气
jruby倒是建立项目成功,但是问题也有,那就是安装gem的问题,老是native extention XXX错误,gem 无法安装。跟着<
用netbeans 建立一个rails,到第三部数据库的时候,选择指定,mysql.
用户名root 密码 XXX 然后使用JDBC 连接
完成
到这里还是蛮顺利的
之后项目右键生成 say controller hello view
ok 启动项目
localhost:3000/say/hello
Error
载入 mysql 失败
XXXX
哎
继续GOOGLE 但是没找到啥东西
转而去翻netbeans 官方那里帖的教程
看到这么一行
mysqladmin -u fred -p create mydb_development
也许是我没有创建数据库
转cmd
mysqladmin -u xxx -p create demo_development
创建成功后
这下总算是成功看到该死的
Hello from Rails!
后记:实际过程还要长点
还要曲折点
不过成功了总是好的开始
继续修炼
菜鸟到高手都有个过程(给自己打气
Categories
Archives
Live Traffic Feed
Ads
blank