Install Error

shokai edited this page Mar 8, 2013 · 15 revisions

Twがインストールできない!!という人向けドキュメントです。

前置き

Rubygems(Rubyで実装されたライブラリ群)をいくつも使用しているので、色々なライブラリとOSの相性でインストールが失敗する事があります。

私(shokai)のテスト環境は

  • 新しめのMac
  • Ubuntu Linux

だけなので、古いMacやWindowsでは動作チェックを行えません。

そもそもgemコマンドを使っている時点でインストールが難しいので、他の配布方法も考えています。意見などあれば https://github.com/shokai/tw/issues/27 にもどうぞ。

RubyとRubygemそれぞれのバージョンをチェック

以下のコマンドを試す

% ruby -v  #=> ruby 1.8.7以上ならokです
% gem -v  #=> 1.8.xx 以上ならokです

Rubyが古い場合

ruby1.8.6等では、最新のgemコマンドがうまく動きません。 各OSのRubyそのものをインストールしなおしてください。

% sudo apt-get install ruby  # for ubuntu, debian
% sudo yum install ruby  # for centos, redhat

http://www.ruby-lang.org/ja/downloads/ からダウンロードしてインストールするのも良いです。

gemだけが古い場合

gemコマンドそのものをアップデートします。

% gem install rubygems-update
% update_rubygems
% gem -v  #=> 1.8.24 等にバージョンアップしているはず
% gem install tw

Invalid gemspec in ~~ というエラーがでる場合

Invalid gemspec in [/usr/lib/ruby/gems/1.8/specifications/hashie-1.2.0.gemspec]: invalid date format in specification: "2012-10-01 00:00:00.000000000Z"

該当するgemを削除して、twを再インストールすると良いと思います。

% gem uninstall hashie

もしくは、エラーをみて /usr/lib/ruby/gems/1.8/specifications/hashie-1.2.0.gemspec をエディタで開き、"2012-10-01 00:00:00.000000000Z" を "2012-10-01 00:00:00" に変更する。

インストールしなおす

% gem install tw

install system_timer ~~ という警告が表示される場合

Ruby1.8系で確認しています。gemでsystem_timerをインストールすると表示されなくなります。

% gem install system_timer

[BUG] cross-thread violation on rb_gc() というエラーで強制終了する

各OS向けにネイティブ拡張が使われているgemを一旦アンインストールすると解決します

% gem uninstall tw
% gem uninstall parallel multi_json json
% gem install tw