query: tag:rubygems

DHHがGithub上でrubygemsがデフォルトで--no-ri --no-rdocになるように
しようという
運動をしている
ようです。
やっぱみんなそう思うよね!

ss

すでに結構賛同者がいる模様。

訂正
git request-pull はメールを送信する機能は無いらしい。

http://rubygems.org にいけば rdoc は読めるし、デフォルトですべての環境にインストールされる必要なんてないよね。

Let's join!

posted by genki genki on Fri 25 Feb 2011 at 18:40 with 0 comments

gem push によって、
gem の公開が大変簡単になりました。
しかし、敷居の低さは油断に繋がるもので、
近い将来、誰もが一度は秘匿性のあるファイルを誤って公開してしまい、
パニックになることでしょう。

今回、皆さんを出し抜く形になってしまい甚だ恐縮ではございますが、
一足先に体験させて頂きましたので、
その対処法を報告致します。

手順

  1. gem yank
  2. support staff への報告

1. gem yank

gem の新機能である yank コマンドを利用すると、
指定したバージョンの gem の公開を停止することができます。
例えば、foo-0.0.1 gem の場合、以下を実行します。

shell>>
% gem yank foo -v0.0.1
<<--

この機能は rubygems1.3.6 にはまだ含まれて居ませんので、
"Unknown command yank" と言われた場合には、
以下のコマンドで gem を最新のものにアップグレードする必要があります。(1.3.7以降で、gemcutterも0.5.1以降であれば不要なはずです)

shell>>
gem update --system
gem install gemcutter
<<--

2. support staff への報告

これで、gemcutter の index からは削除され、
gem search および install の対象からは除外されたのですが、
ホームページ上からは依然としてダウンロードが可能な状態になっています。
完全に削除しない理由は、

  • その gem に依存関係を持つ gem が存在し得る
  • 重要な gem (例えば rails) が突然なくなると困る

というポリシーからのようです。
でも、
「パスワードみたいに本当に致命的な場合は、
個別に判断するのでとりあえず連絡下さい」
という方針のようなので、
以下の問い合わせフォームから削除を嘆願します。

http://help.rubygems.org/discussion/new

これは基本的に公開BTSなので、下のほうにある

[x] This is a private discussion, don't let the public see

を忘れずにチェックして、private なメッセージにして投稿しましょう。
これで数日中には完全に削除されるはずですので、
support staff に感謝の気持ちを伝えて作業完了です。

[おまけ] unyank

yank を取り消す(undo)機能も存在しています。

shell>>
% gem yank foo -v0.0.1 --undo
<<--

この yank / undo の一連の操作を覚えておくと、
「もしかしてセキュリティーホールがある?」
「新バージョンでエンバグしてる?」
なんて時には速攻で yank して、
「やっぱ気のせい」
という場合は undo で戻せるので、とても便利です。

参考

Removing a published RubyGem

posted by maiha maiha on Fri 16 Apr 2010 at 17:53 with 1 comment

現状

shell>>
% gem --version
1.3.6

% ./script/console
Loading development environment (Rails 2.2.2)
/usr/lib/ruby/gems/1.8/gems/rails-2.2.2/lib/rails/gem_dependency.rb:224:in specification':NoMethodError: undefined method version_requirements=' for #Gem::Dependency:0xb7769604
<<--

  • rails 側での対応はなし
  • rubygems 側は trunk で修正済
  • rubygems の新バージョンはなかなか出ず

対策

  • rubygems の trunk から最新版をインストールする (git じゃないのがダサイ)

インストール

(/tmp/ あたりの適当な場所で実行)

shell>>
% svn export http://rubygems.rubyforge.org/svn/trunk/ rubygems
A rubygems
A rubygems/History.txt
...
リビジョン 2460 をエクスポートしました。

% cd rubygems

ruby setup.rb

<<--

(setup.rb の実行でインストールされます。必要に応じてrootで)

確認

ruby>>
% ./script/console
Loading development environment (Rails 2.2.2)
/usr/lib/ruby/gems/1.8/gems/rails-2.2.2/lib/rails/gem_dependency.rb:224:Warning:...
/usr/lib/ruby/gems/1.8/gems/rails-2.2.2/lib/rails/gem_dependency.rb:224:Warning:...
...

User.count
=> 25707
<<--

warning が一杯出るが気にしない。
rubygems 1.3.7 が出るまで、とりあえずこれでOK。

posted by maiha maiha on Sun 7 Mar 2010 at 13:20 with 0 comments