Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gem.bat install milkode にて、ERROR #18

Closed
tsurushuu opened this issue Sep 30, 2011 · 13 comments
Closed

gem.bat install milkode にて、ERROR #18

tsurushuu opened this issue Sep 30, 2011 · 13 comments

Comments

@tsurushuu
Copy link

0.2.3をインストールしようとしたところ、インストールに失敗するようになってしまいました。
昨日(0.2.2ではインストールできていました。)
今日、gem install milkode -v 0.2.2 もインストール出来ています。 

cmd.exeは「管理者として実行」しています

==== 

C:\Windows\system32>gem.bat install milkode
ERROR: While executing gem ... (NoMethodError)
undefined method `call' for nil:NilClass

C:\Windows\system32>gem.bat uninstall milkode
Remove executables:
cdv, milk, cdview

in addition to the gem? [Yn] y
Removing cdv
Removing milk
Removing cdview
Successfully uninstalled milkode-0.2.2

C:\Windows\system32>gem.bat install milkode
ERROR: While executing gem ... (NoMethodError)
undefined method `call' for nil:NilClass

C:\Windows\system32>gem -v
1.3.7

C:\Windows\system32>ruby -v
ruby 1.8.7 (2010-12-23 patchlevel 330) [i386-mswin32]

@ongaeshi
Copy link
Owner

RubyGemsのバージョンが古いと動かないようです(何故そうなったか原因がいまいち分かっていません・・・、関連するgem?)。

$ gem update --system
Updating RubyGems
Updating rubygems-update
Successfully installed rubygems-update-1.8.10
Updating RubyGems to 1.8.10
Installing RubyGems 1.8.10
RubyGems 1.8.10 installed

== 1.8.10 / 2011-08-25
.
.
.

gemのバージョンが上がったためか不正なgemspecがあると警告が出るようになってしまいました。警告の出るgemをインストールしなおすか(gem install milkode --version 0.1.5)、ファイル自体を削除(C:/app/ruby/lib/ruby/gems/1.8/specifications/milkode-0.1.5.gemspec)したら直りました。

$ gem list # gemを利用するコマンド使うと出る
Invalid gemspec in [C:/app/ruby/lib/ruby/gems/1.8/specifications/milkode-0.1.5.gemspec]: invalid date format in specification: "2011-08-01 00:00:00.000000000Z"
Invalid gemspec in [C:/app/ruby/lib/ruby/gems/1.8/specifications/milkode-0.2.0.gemspec]: invalid date format in specification: "2011-08-09 00:00:00.000000000Z"

これでインストールは出来るようになりました。

$ gem install milkode
Successfully installed milkode-0.2.3
1 gem installed
Installing ri documentation for milkode-0.2.3...
Installing RDoc documentation for milkode-0.2.3...

mingw32版(RubyInstaller等)はこれで動いたのですが、mswin32版(ActiveScriptRuby等)はまだ動かないようです。
gem1.8になったらmswin32版でmingw32版が使えない、みたいなことがあるのかな?

$ milk -web
C:/app/ruby/lib/ruby/site_ruby/1.8/rubygems/dependency.rb:247:in `to_specs': Could not find rroonga (>= 1.0.0) amongst [addressable-2.2.6, archive-zip-0.4.0, archive-zip-0.3.0, coderay-1.0.0, coderay-0.9.8, codestock-0.1.4, codestock-0.1.2, codestock-0.1.1, codestock-0.1.0, configuration-1.3.1, configuration-1.2.0, daemons-1.1.4, eventmachine-0.12.10-x86-mswin32-60, gren-0.3.2, haml-3.1.2, highline-1.6.2, hpricot-0.8.4-x86-mswin32, io-like-0.3.0, launchy-0.4.0, log4r-1.1.9, maruku-0.6.0, milk-0.1.1, milkode-0.2.3, nokogiri-1.5.0-x86-mswin32-60, pkg-config-1.1.1, rack-1.2.2, rake-0.8.7, rroonga-1.1.0-x86-mingw32, rubygems-update-1.8.10, rubywho-0.3.0, sass-3.1.4, sinatra-1.2.6, six-rsync-0.8.0, syntax-1.0.0, tapp-1.1.0, termcolor-1.2.1, thin-1.2.11-x86-mswin32, tidtools-0.1.0, tilt-1.3.2, zip-2.0.2] (Gem::LoadError)
    from C:/app/ruby/lib/ruby/site_ruby/1.8/rubygems/specification.rb:761:in `activate_dependencies'
    from C:/app/ruby/lib/ruby/site_ruby/1.8/rubygems/specification.rb:758:in `each'
    from C:/app/ruby/lib/ruby/site_ruby/1.8/rubygems/specification.rb:758:in `activate_dependencies'
    from C:/app/ruby/lib/ruby/site_ruby/1.8/rubygems/specification.rb:742:in `activate'
    from C:/app/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:1211:in `gem'
    from C:/app/ruby/bin/milk:18

もう少し調査を続けてみます(何か気がつくことがありましたら教えて頂けると嬉しいです)。

@tsurushuu
Copy link
Author

ActiveScriptRuby にて、全く同じエラーで、milkが停止してしまいました。
mingw32版(RubyInstaller等)で試してみます。

@tsurushuu
Copy link
Author

RubyInstaller にて正常に実行までいきました!

============

gem -v
1.8.10

ruby -v
ruby 1.8.7 (2011-06-30 patchlevel 352) [i386-mingw32]

milk -v
milk 0.2.3

@ongaeshi
Copy link
Owner

よかったです!
後はmswin32の方ですねー・・・、何が起きてるんだろ?

@ongaeshi
Copy link
Owner

以下のようなパッチをRubyGemsに当てることで、ActiveScriptRuby(mswin32)でも動かすことが出来ました。

Gem::Platform#== を変更して、''mswin32''と''mingw32''を等価に。

c:/ruby/lib/ruby/site_ruby/1.8/rubygems/platform.rb

  ##
  # Is +other+ equal to this platform?  Two platforms are equal if they have
  # the same CPU, OS and version.

  def ==(other)
-    # self.class === other and to_a == other.to_a
+    self.class === other and to_a2 == other.to_a2 # for milkode0.2.3 
  end

+  def to_a2
+    platform = self.dup
+    platform.os.gsub!("mswin32", "mingw32") # mswin32はmingw32と同じとみなす
+    platform.to_a
+  end

RubyGemsのバージョンが上がった時に、プラットフォームのチェックが厳密になったのかな?

@ytak01
Copy link

ytak01 commented Oct 1, 2011

私のところだとgemのVerを上げるとそもそもrroongaがエラーになるんですよね

D:\Users\foo>gem install rroonga -v 1.1.0
Fetching: rroonga-1.1.0.gem (100%)
Building native extensions. This could take a while...
ERROR: Error installing rroonga:
ERROR: Failed to build gem native extension.

    "C:/Program Files (x86)/ruby-1.8/bin/ruby.exe" extconf.rb

checking for groonga version (>= 1.1.0)... no
downloading http://groonga.org/files/groonga/groonga-1.1.0.tar.gz...*** extconf.
rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.

Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--srcdir=.
--curdir
--ruby=C:/Program Files (x86)/ruby-1.8/bin/ruby
--with-pkg-config
--without-pkg-config
--with-override-variables
--without-override-variables
C:/Program Files (x86)/ruby-1.8/lib/ruby/1.8/open-uri.rb:277:in open_http': 404 Not Found (OpenURI::HTTPError) from C:/Program Files (x86)/ruby-1.8/lib/ruby/1.8/open-uri.rb:616:inbu
ffer_open'
from C:/Program Files (x86)/ruby-1.8/lib/ruby/1.8/open-uri.rb:164:in op en_loop' from C:/Program Files (x86)/ruby-1.8/lib/ruby/1.8/open-uri.rb:162:inca
tch'
from C:/Program Files (x86)/ruby-1.8/lib/ruby/1.8/open-uri.rb:162:in op en_loop' from C:/Program Files (x86)/ruby-1.8/lib/ruby/1.8/open-uri.rb:132:inop
en_uri'
from C:/Program Files (x86)/ruby-1.8/lib/ruby/1.8/open-uri.rb:518:in op en' from C:/Program Files (x86)/ruby-1.8/lib/ruby/1.8/open-uri.rb:30:inope
n'
from extconf.rb:51:in install_groonga_locally' from extconf.rb:48:inchdir'
from extconf.rb:48:in `install_groonga_locally'
from extconf.rb:107

Gem files will remain installed in C:/Program Files (x86)/ruby-1.8/lib/ruby/gems
/1.8/gems/rroonga-1.1.0 for inspection.
Results logged to C:/Program Files (x86)/ruby-1.8/lib/ruby/gems/1.8/gems/rroonga
-1.1.0/./gem_make.out

D:\Users\foo>ruby -v
ruby 1.8.7 (2010-12-23 patchlevel 330) [i386-mswin32]

D:\Users\foo>gem -v
1.8.10

@ongaeshi
Copy link
Owner

ongaeshi commented Oct 2, 2011

rubyのmswin32版を使っているようですので、--platformを指定すれば上手く行くかもしれません。

gem.bat install rroonga --platform x86-mingw32 -v 1.1.0

@ongaeshi
Copy link
Owner

ongaeshi commented Oct 2, 2011

RubyGemsのバージョン問題を修正した、Milkode0.2.4をリリースしました。

Milkode0.2.4を緊急リリース - RubyGems1.3でインストール出来ない問題を修正しました。 - おんがえしの日記

@ytak01
Copy link

ytak01 commented Oct 3, 2011

gem.bat install rroonga --platform x86-mingw32 -v 1.1.0
もやってみたのですが、以下のエラー(?)が出ます。

Enclosing class/module 'mGrn' for class Accessor not known

Enclosing class/module 'mGrn' for class ArrayCursor not known
 長いので省略・・・
Enclosing class/module 'mGrn' for class ViewCursor not known

Enclosing class/module 'mGrn' for class View not known

結果的にmilkが動作しませんでした・・・

C:\Program Files (x86)\ruby-1.8\bin>milk
C:/Program Files (x86)/ruby-1.8/lib/ruby/site_ruby/1.8/rubygems/dependency.rb:24
7:in `to_specs': Could not find rroonga (>= 1.0.0) amongst [addressable-2.2.6, a
rchive-zip-0.4.0, coderay-0.9.8, daemons-1.1.4, eventmachine-1.0.0.beta.4.1-x86-
mswin32-60, haml-3.1.3, highline-1.6.2, io-like-0.3.0, launchy-2.0.5, milkode-0.
2.4, milkode-0.2.3, nokogiri-1.5.0-x86-mingw32, pkg-config-1.1.2, rack-1.3.3, ra
ck-protection-1.1.1, rroonga-1.1.0-x86-mingw32, rubygems-update-1.8.10, sass-3.1
.7, sinatra-1.2.6, termcolor-1.2.1, thin-1.2.11-x86-mingw32, tilt-1.3.3] (Gem::L
oadError)
        from C:/Program Files (x86)/ruby-1.8/lib/ruby/site_ruby/1.8/rubygems/spe
cification.rb:761:in `activate_dependencies'
        from C:/Program Files (x86)/ruby-1.8/lib/ruby/site_ruby/1.8/rubygems/spe
cification.rb:758:in `each'
        from C:/Program Files (x86)/ruby-1.8/lib/ruby/site_ruby/1.8/rubygems/spe
cification.rb:758:in `activate_dependencies'
        from C:/Program Files (x86)/ruby-1.8/lib/ruby/site_ruby/1.8/rubygems/spe
cification.rb:742:in `activate'
        from C:/Program Files (x86)/ruby-1.8/lib/ruby/site_ruby/1.8/rubygems.rb:
1211:in `gem'
        from C:/Program Files (x86)/ruby-1.8/bin/milk:18

@ongaeshi
Copy link
Owner

ongaeshi commented Oct 4, 2011

※ 読みやすくするため、一部を ``` で 囲ませてもらいました。

rroongaのインストールは上手くいっているような気がします!

milkが動作しないのは、gemのバージョンが(milk0.2.3のバグにより) 1.8.1 になっているからだと思います。この議論の↑の方でパッチを当てる方法も紹介しているのですが、gemは1.3.7に戻して、milk0.2.4にするのがおすすめです。

gem.bat uninstall -v 1.8.10 rubygems-update
gem.bat install -v 1.3.7 rubygems-update
update_rubygetms.bat

参考 : RubyGemsをバージョンダウンしたりバージョンアップしたり

これで gem -v が 1.3.7 になっていることを確認したら、

gem.bat install milkode

これでどうでしょうか?

@ytak01
Copy link

ytak01 commented Oct 4, 2011

すみません、Windowsのほうなので手っ取り早く全て削除して再インストールしてしまいました。

ちなみにインストールしたのは
http://rubyinstaller.org/downloads/archives

rubyinstaller-1.8.7-p302.exe
です。

ほぼ始めてrubyを触ってますが、rubyって結構たいへんなんですね・・・

@ongaeshi
Copy link
Owner

ongaeshi commented Oct 4, 2011

ひとまず動いたようで良かったです!
環境周りはいくつかバージョンがあったりして分かりづらいかもしれないですね。

@ongaeshi
Copy link
Owner

ongaeshi commented Oct 4, 2011

ひとまずここは閉じますねー。

@ongaeshi ongaeshi closed this as completed Oct 4, 2011
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants