写点什么

RubyGems 综述: 1.2 版本发布, JRuby, 更快地 Gem 发布

  • 2008-07-16
  • 本文字数:1278 字

    阅读完需:约 4 分钟

Eric Hodel ( InfoQ 对 Eric 的访谈) 发布了 RubyGems 1.2 . 这个发行版包含了以下一些新特性:

  • RubyGems 不再是更新全部文件,而只是获取需要的 gemspec 文件。源需要升级至 RubyGems 1.2,以便 RubyGems 能发挥新元数据升级器的优势。如果一个源是 1.2 之前版本的,那么 RubyGems 出于兼容性的原因将使用原先更新全部文件的方法
  • RubyGems 现在包含运行和开发依赖,使用 #add_development_dependency#add_runtime_dependency 表示。<span face="Verdana" id="f000"> 没有标明类型的依赖将被视为运行依赖 </span>
  • 如果 rubygems/defaults/operating_system.rb 和 rubygems/defaults/#{RBX_ENGINE}.rb 这两个文件存在,那么RubyGems 会引用这两个文件。通过这两个文件,负责打包的人员和负责 ruby 实现的人员可以在 RubyGems 中添加自定义行为。 (如果发现 RubyGems 能力不足,请到 RubyGems 列表中提交改进建议。)
  • /etc/gemrc (以及 windows 上的等价物) 被用于全局设置
  • setup.rb 现在可以处理 --vendor 和 --destdir 两个选项,这两个选项可以被打包人员使用
  • gem stale 命令可以列出上次访问时的 gem 列表

如果从一个最近的 RubyGems 版本 (至少得是 0.8.5) 升级,新发行版的说明中提示可以运行如下指令: <pre id="rm4y19">$ gem update --system (你可能需要 admin 或者 root 权限) 而正如 Github 的博客中所说的,使用RubyGems 1.2 可以很容易从Github 安装gem : > 如果你是一个Ruby 爱好者,那么运行下面的命令来犒劳自己一下。 <pre id="rm4y22">$ sudo gem update --system <br id="rm4y23"></br>$ gem sources -a http://gems.github.com 现在你可以像安装 RubyForge 上 gem 一样地直接安装 Github 上的 gem,而不再需要任何特殊的说明

目前 JRuby 的用户还需要一些附加的工作来使用 RubyGems 1.2。 Vladimir Sizikov 提供了一个让 RubyGems 1.2 运行在现在的 JRuby 1.1.x 版本上的暂行方案:> jruby -S gem update --system

由于 rubygems 1.1.1 的 bug,这个标准的升级命令不能让 rubygems 运行在 JRuby 1.1.2 上。幸运的是,这里有一个变通的办法:
jruby -S gem install rubygems-update -v 1.1.1
一旦安装了这个升级版本,接下来你就可以执行上面列出来的那个升级命令。

这里仅仅给出步骤,而 Vladimir’s 的邮件里给出了具体哪些步骤被执行、哪些文件被下载的详细解释,并且说明了为何这些可以使 RubyGems 1.2 正确运行。
注:如果你不想执行这些步骤,那么你需要做的仅仅是等待 JRuby 1.1.3。这个版本将会使用 RubyGems 1.2。 Ruby 1.9 的更新记录中说明了 1.9.x 的主版本将会同时升级到 1.2 版本。 最后, Tom Copeland 说明了 RubyForge 上的 Gems 在基础设施方面的改进

这个想法是跟踪新 gem 的文件名,而后 RubyForge 会在本地提供这些 gem,而不是将请求重定向到镜像。[…] 提供这些 gem 不再需要等待所有镜像进行更新。现在我只需要写一点代码在 24 小时之后从列表中删除文件名;到那时 gem 将已经被同步。
因此,综上所述,gem 在它们发布后非常短的时间就可以使用了。

查看英文原文: RubyGems Roundup: 1.2 Release, JRuby, Faster Gem Releases

2008-07-16 00:50651
用户头像

发布了 24 篇内容, 共 25971 次阅读, 收获喜欢 0 次。

关注

评论

发布
暂无评论
发现更多内容

号外!多个企业数智化领先实践将亮相2023用友BIP技术大会

用友BIP

技术大会 用友iuap 升级企业数智化底座 央国企数智化转型

江苏启东|2023中国·启东第八届“启创杯”创业大赛

科兴未来News

电子信息 新能源 医疗器械 双创比赛 江苏启东

软件测试/测试开发丨接口自动化测试分层设计与实践总结

测试人

软件测试 自动化测试 接口测试 测试开发 接口自动化

低代码是什么意思

优秀

低代码

一次goroutine 泄漏排查案例

蓝胖子的编程梦

golang 性能 协程 pprof 线上故障

一次系统延迟性优化案例

蓝胖子的编程梦

golang 性能 延迟 线上事故 线上故障

复旦邱锡鹏教授:语言模型即服务的五类应用手段,你了解多少

小红书技术REDtech

深度学习 nlp

金三银四(P5-P7 级)1000 多道 Java 面试题,从基础到架构

采菊东篱下

Java

重庆理工大学教授程平:智能会计时代,应充分发挥数据资产的价值

用友BIP

人工智能 数据资产 智能会计 价值财务 事项会计

程序员如何打破需求魔咒:为什么人越招越多,活越干越累?

小红书技术REDtech

算法 活动回顾

openGemini 1.0版本,带来哪些新特性和性能提升?

华为云开源

数据库 时序数据库 sql

交大翟广涛教授:眼见不实,怎样评价媒体体验质量

小红书技术REDtech

深度学习

通过4种经典应用,带你熟悉回溯算法

华为云开发者联盟

人工智能 华为云 回溯算法 华为云开发者联盟 企业号 4 月 PK 榜

软件测试/测试开发丨Dubbo 接口测试原理及多种方法实践总结

测试人

dubbo 软件测试 接口测试

mac虚拟机Parallels Desktop 常见问题解答

互联网搬砖工作者

轻松几秒提升视频清晰度:Perfectly Clear Video Mac版

真大的脸盆

Mac 视频处理 视频增强 Mac 软件 视频画质

首次解密小红书“种草”机制:大规模深度学习系统技术是如何应用的

小红书技术REDtech

深度学习 机制策略 活动回顾

【云图说】云数据库GaussDB如何做到卓越性能

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 4 月 PK 榜

关于数智融合,看看这20位专家都聊了什么

华为云开发者联盟

云计算 华为云 数智融合 华为云开发者联盟 企业号 4 月 PK 榜

mysql invalid conn排查

蓝胖子的编程梦

MySQL 性能 线上故障 超时 连接池

【基础知识】PCB布局设计入门步骤

攻城狮华哥

工具 电路 PCB 布局 PCB设计

plist文件格式转换器

雪奈椰子

ios打包 上架 IPA上传

Codepipeline 跨账号访问 Codecommit

亚马逊云科技 (Amazon Web Services)

NFT游戏开发交易系统搭建方案

薇電13242772558

NFT

Nautilus Chain 上首个 DEX PoseiSwap 模型解析

鳄鱼视界

不同云平台之间的纳管用什么工具好?有推荐的吗?

行云管家

云计算 云平台

厦门等级保护测评机构地址在哪里?咨询电话多少?

行云管家

等级测评 厦门

LED显示屏品质如何控制

Dylan

品牌 LED显示屏 全彩LED显示屏

一次排查某某云上的redis读超时经历

蓝胖子的编程梦

redis 性能 线上事故 线上故障 超时

AI时代,看用友iuap如何推动数智商业创新

用友BIP

AI 技术大会 数智底座 升级企业数智底座

Web前端组件库OpenTiny项目如何使用?

英勇无比的消炎药

开源 前端 OpenTiny UI组件库

  • 扫码加入 InfoQ 开发者交流群
RubyGems综述: 1.2版本发布, JRuby, 更快地Gem发布_Ruby_Werner Schuster_InfoQ精选文章