免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4294 | 回复: 5
打印 上一主题 下一主题

[Ruby新手教学] windows上的jruby开发环境说明 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-05-17 21:56 |只看该作者 |倒序浏览
[Ruby新手教学] windows上的jruby开发环境说明


我常常建议同事们使用ruby代替java来进行开发,但是,在公司内推广ruby有个必须考虑的问题——大多数人是工作在windows上的,而在windows上开发ruby会遇到一些问题,其中之一就是各种本地库——ruby本身可以很容易的开发c扩展,代价是这些扩展在安装时需要编译,而windows上会编译源码的人很少......

我的建议是可以采用jruby,在jruby社区的努力下,很多高质量的ruby库有了纯java实现,拜java所赐,这些三方库可以很容易的跨平台使用。


安装jruby和安装java类似,下载、解压、设置path变量即可。

就像java有maven作为三方库依赖管理工具一样,ruby社区也有相应的工具,它叫做 rubygem ,或者简称 gem,jruby是自带gem的,执行 gem -v 可以查看详情

Cmd代码
  1. c:\> gem -v
  2. 1.3.6  
复制代码
gem用于管理软件包的多个版本,但是gem本身也有升级的可能,所以安装好以后建议首先升级gem,命令是:

Ruby代码
  1. gem update --system
复制代码
gem和maven类似,它也在一个服务器上维护了所有三方包的依赖关系,这个服务器,我们叫做source:

Shell代码
  1. $ gem source
  2. *** CURRENT SOURCES ***

  3. http://rubygems.org/
复制代码
gem source有时会很慢(搞技术的都知道我们大中华局域网有一个防火墙吧,不过也有服务器本身承载能力的原因),所以可以在公司内部建立一个代理服务,我在淘宝内部一般会开启我的 PC 提供这个服务,地址是 t-lifu.taobao.ali.com ,端口 8808 (仅限内网),你可以用这个命令添加 gem source -a http://t-lifu.taobao.ali.com:8808


ruby的东西一般都很直白,对刚才的命令,linux用户直接看你的$HOME/.gemrc文件就知道是怎么回事了,windows类似。


与maven相比,gem 并不管项目的前世今生,目的更纯粹,因而也更简单,比如下列命令:


Ruby代码
  1. gem install rails # 在本地硬盘上安装 rails (会自动install依赖包)
  2. gem uninstall rails # 删除硬盘上的rails
  3. gem list # 列出本地已经安装的三方包
  4. gem search -r mongo # 在服务器上搜索名字形如 *mongo* 的三方包
复制代码
有时候,你在命令行环境不知道怎么绕开那堵墙,那可以把需要的软件包(我们叫它gem包)下载下来单独安装,当然,这时你要自己注意软件包依赖:

Cmd代码
  1. gem install --local ./bouncy-castle-java-1.5.0145.2.gem
复制代码
这并不是全部,你可以用 gem help 查看所有命令,或者用 gem help <command> 查看某个命令的详细说明:

Shell代码
  1. $ gem help source
  2. Usage: gem sources [options]

  3.   Options:
  4.     -a, --add SOURCE_URI             Add source
  5.     -l, --list                       List sources
  6. ......
复制代码
在windows下,还有一个特别恼人的问题需要注意——console下的编码,21世纪已经进行了十年,unicode越来越深入韧性,很多linux的发布版也都支持unicode家族,但是windows(例如 xp )在这一方面确实支持有限,如果你在windows下面敲命令,往往会遇到乱码的问题,这个其实很好解决——改变 codepage 就行:

Cmd代码
  1. chcp 65001
复制代码
然后修改字体,但是这还没有完,这时候的console在驱动脚本时会有bug,所以诸如 rails, rake 这样的命令都有可能出问题(表现为不执行任何操作),好在有办法解决:

Cmd代码
  1. jruby -S rails ...... ; -S 参数表示在path环境变量中寻找ruby脚本,并用jruby执行  
复制代码
好了,现在你基本上已经了解了在windows环境下编写ruby程序的基础知识,do it and have fun.

论坛徽章:
46
15-16赛季CBA联赛之四川
日期:2018-03-27 11:59:132015年亚洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49双鱼座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亚冠之布里斯班狮吼
日期:2015-07-13 10:44:56
2 [报告]
发表于 2011-05-17 22:20 |只看该作者
草兄好久不见,甚是想念

论坛徽章:
0
3 [报告]
发表于 2011-05-18 13:11 |只看该作者
艹艹啊,要常来。

论坛徽章:
0
4 [报告]
发表于 2011-05-18 20:41 |只看该作者
草兄好久不见,甚是想念
zhlong8 发表于 2011-05-17 22:20



    呵呵,是滴,还想着我那

论坛徽章:
0
5 [报告]
发表于 2011-05-18 20:42 |只看该作者
艹艹啊,要常来。
2gua 发表于 2011-05-18 13:11



    想念瓜哥,呵呵,恩,以后常来

论坛徽章:
0
6 [报告]
发表于 2011-05-18 22:25 |只看该作者
回复 5# 中关村村草


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP