InfoQ

News

Ruby Gems: ニューリリースとRuby1.9へ含める計画

作者 Werner Schuster, 翻訳者 長部 広太 投稿日 2007年11月5日 午後10時11分

コミュニティ
Ruby
トピック
動的言語,
コンフィグ管理
タグ
RubyGems
Eric Hodel氏は、Rubyのポピュラーなパッケージ管理システムであるRuby Gems 0.9.4.5のリリース(サイト・英語)を発表した。今回のバージョン0.9.4.5は、Ruby Gems 0.9.5のベータリリースに相当し、新機能が幾つか追加された。
  • gemsの自動インストール機能
  • 新しい帯域幅とインデックスファイルフォーマットが扱いやすいメモリ
  • ―no-update-sourcesオプションを付けるとオフラインモードになる
  • -B又は―bulk-thresholdオプションを追加して、大量アップデートの閾値を指定出来る
  • fetchコマンドが新たに追加
  • -vオプションを追加すると詳細を出力出来る
  • Ruby 1.9互換
RubyForgeのシステム管理者であるTom Copeland氏は、パッケージがインデックス付けする方法を変更したこと(source)、そしてそれがRuby Gemsの信頼性を高めることを説明してくれた。
gem installを実行した時、以下のメッセージを見たことがあるかもしれません。
$ gem install rails 
ERROR: While executing gem ... (Gem::GemNotFoundException)
Could not find rails (> 0) in any repository
このメッセージが表示された5分後に、gem install railsを実行すると、インストールは正常に行われます。これは、我々がRubyForgeの上でgemのインデックスをリビルドする方法が原因で起きていました。我々は適当な位置でリビルドしていたのです。従って、現在のインデックスは上書きされてしまい、ビルドの進行にもかかわらず居続けてしまいます。これらの作業は、ほんの少し(10分ぐらい)時間がかかります。そしてその作業中にどうしてもインデックスが空になってしまいエラーが起きてしまうのです。

Eric Hodel氏は、gemのインデックスビルダーをいじって、インデックスをテンポラリなディレクトリに構築して、所定の位置に移動させました。従ってgemのインデックス付けのエラーは過去のものになったに違いありません。Ericありがとう!
他の変更点はメモリの使用量を改善したことである(source)

Wilson Bilkovich氏は、新しいマーシャルなフォーマットインデックスを追加しました。それは帯域幅の使用量とメモリの消費量を軽減します。大量のyamlインデックスを更新するのに120MB又はそれ以上のメモリが必要ですが、マーシャルインデックスを更新するのに必要なメモリの量は約30MBです。

以下のコマンドを実行するだけで、Ruby Gems 0.9.4.5へアップデート出来る。
gem update --system --source http://segment7.net/ 
Ruby Gemsの機能は、Ruby 1.9互換に関する機能一覧からヒントを得た。それは標準的なRuby 1.9含めることである。これは笹田耕一さんの7月の投稿(source)がきっかけだった。
松本さんは、gemをRuby1.9に取り入れる予定ですが、この件に関してコメントがある方いらっしゃいますか?
-gemをインポートするのは可能であるとか、難しいのではないかとか(gemのメンテナは誰ですか?)
- 互換性の問題とか。
- 上に挙げた以外の問題とか。
議論は10月に再度とりあげられた(source)。そしてRuby1.9でのRuby Gemsの本質に関する詳細な点に焦点があてられている。名前やパッケージ管理システムの振る舞い等の仕様が現在議論されている。

原文はこちらです:http://www.infoq.com/news/2007/10/ruby-gems-release
ブックマーク
digg+,
reddit+,
del.icio.us+,
dzone+,
Hatena

No comments

返信

ジャンル別一覧

ファイルシステムでHello World

この連載では"ファイルシステムの作り方"をご紹介します。第1回目の今回は簡単なイントロダクションと単純なHello Worldファイルシステムの作り方を説明します。次回以降で詳しい解説と本格的なファイルシステムの作り方をご紹介しようと思います。

Guice(ジュース)を早飲みしすぎていませんか?

あなたのチームが、既存アプリケーションを「シングルトンの入れ子」設計から依存性注入(DI)へ移行しようとしているなら、この論文に心引かれるでしょうが、DIへの移行は難しいことが分かっています。論文にはGoogleのJava DIコンテナ(Guice)の名を入れていますが、Javaや.NET、Python、Rubyなどにも当てはまります。

チームがキュービクルと引き換えにコミュニケーションスキルを得る手助けをせよ

アジャイルの「自己組織化チーム」のパラダイムでは、チームのメンバに新しいスキルが要求されます。この記事では、発展しつつあるチームの自己組織化を壊さずに、新たなスキルを伝えるためのいくつかの戦略を提案します。そして、新しいスキルを身につけるのに役立つ資料のありかを提示しています。

F#の土台を越えて - 非同期ワークフロー

今回の記事では、非同期ワークフローと呼ばれるワークフロー機能の面白い使用法を考察しますが、非同期ワークフローは.NETの非同期プログラミングモデルを単純化することを目的としています。

言語としてのアーキテクチャ: ストーリー

アーキテクチャは一般に、Word文書に主として見られるような極めて実体のない、ソフトウェアシステムの概念的な側面であるか、または完全に技術によって駆動されるものかのいずれかです。そのどちらも間違っています。では、どう対処すればよいでしょうか? この記事ではアイデアを説明します、そしてアプローチのキーポイントを要約します。

メタプログラミングを使ってRubyにプロパティを追加する

Werner Schuster氏が、簡単な例を示しながら、Javaのようなプロパティをメタプログラミングを使ってRubyに追加する方法を示します。

BlazeDSとAMFでWebとデスクトップのアプリケーションを構築する

現在のRIAアーキテクチャにおいて、クライアント/サーバーの通信は重要な位置を占めています。本稿では、James WardとShashank TiwariがアドビによるオープンソースのBlazeDSメッセージングサーバーの世界へ飛び込みます。

業務ソフトに手を加えずに暗号化を実現する~秘文の挑戦~

hibun

ウィルス対策ソフトや情報漏えい防止用のソフトは、いわば影の存在です。ユーザの操作性やGUIを工夫する以上に、いかに目立たない存在となるかにその技術を注ぎ込んでいます。ここでは日立ソフトが開発した「秘文」の事例を紹介します。