Rubyの魔神 このページをアンテナに追加 RSSフィード

   「Ruby」は宝石の魔神のイメージ(The Jinn of the Ruby)
   [VB] [VB6] [Android] [電子工作] [個人メモ] [仕事メモ] [アイデア] [TstLink] [開発] [CE] [LTSA] [自動化] [Qt] [OCaml] [TOOLS]
   [3Dプリンタ] [RAA] [Forge]   [機能別索引] [逆引きRuby] [マニュアル] [るびま] [標準ライブラリ] [るりまサーチ] [Try! Ruby] [PRaggerまとめ] [ピジョン・ブラッド]
   [Rubyコーディング規約] [プログラミングのオキテ] [Rubyist SNS] [TOOLBIS]
   [RubyネットワークProg] [druby] [コードなにがし] [RDocテンプレ] [Ruby/Tkサンプル]
   [WAVE] [Xperia] [github] [twitterなど] [Java] [EA] [マクロ]

2013-09-27

Ruby-2.0.0-p195 gemが動かない場合の対策方法

Ruby-2.0.0-p195 gemが動かない場合の対策方法 - Rubyの魔神 を含むブックマーク はてなブックマーク - Ruby-2.0.0-p195 gemが動かない場合の対策方法 - Rubyの魔神 Ruby-2.0.0-p195 gemが動かない場合の対策方法 - Rubyの魔神 のブックマークコメント

http://www.artonx.org/data/asr/

上記で公開されているRuby-2.0.0-p195をWindows7で動かしている時

gem updateやgem installを使おうとすると

Building native extensions. This could take a while...

と表示が出てそのまま動かなくなるのでその対策方法です。

1.Visual Studio 2010をインストールする

2.「Ruby-2.0 (Administrator) console」を実行してDOS窓を開く

3.「"C:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"」を実行する

または以下。(上が32bitOSで下が64bitOSかな?)

「"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat"」

この状態で「gem update」や gem install ○○ を実行するとちゃんとコンパイル出来るようになります。



追記

家の環境だとpathを設定しても上手くいかなかったので一度「Ruby-2.0 (Administrator) console」を起動して

path =""

path=C:/Program Files/It's Freetime Software/Ruby-2.0.0-x64/bin

を実行した後

「"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat"」

を実行するとコンパイルするようになった。複数の開発環境(VS6.0~VS2012,各種マイコン用コンパイラ)が入っているのが原因かも知れない。

Updating installed gems

Updating bigdecimal

Building native extensions. This could take a while...

ERROR: Error installing bigdecimal:

ERROR: Failed to build gem native extension.

"C:/Program Files/It's Freetime Software/Ruby-2.0.0-x64/bin/ruby.exe" extcon

f.rb

C:/Program Files/It's Freetime Software/Ruby-2.0.0-x64/bin/ruby.exe: invalid swi

tch in RUBYOPT: -F (RuntimeError)


Gem files will remain installed in C:/Program Files/It's Freetime Software/Ruby-

2.0.0-x64/lib/ruby/gems/2.0.0/gems/bigdecimal-1.2.1 for inspection.

Results logged to C:/Program Files/It's Freetime Software/Ruby-2.0.0-x64/lib/rub

y/gems/2.0.0/gems/bigdecimal-1.2.1/./gem_make.out

それでもやっぱり一部エラーが出る。

http://d.hatena.ne.jp/kk_Ataka/comment/20111129/1322569582

こちらの記事を読むとパス名にスペースがあると起こる可能性があるらしい。

とりあえず一度Ruby2.0.0をアンインストールして「C:/Program Files/It's Freetime Software/Ruby-

2.0.0-x64

とは別なパスにインストールしてみる。

インストールパスを「c:\Ruby-2.0.0-x64」に変えると予想通りエラー内容が変わったが、やはりbigdecimalでこける。

C:\Users\garyo>gem update

Updating installed gems

Updating bigdecimal

Building native extensions. This could take a while...

ERROR: Error installing bigdecimal:

ERROR: Failed to build gem native extension.

C:/RUBY-2~1.0-X/bin/ruby.exe extconf.rb

checking for labs() in stdlib.h... *** 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:/RUBY-2~1.0-X/bin/ruby

C:/RUBY-2~1.0-X/lib/ruby/2.0.0/mkmf.rb:431:in `try_do': The compiler failed to g

enerate an executable file. (RuntimeError)

You have to install development tools first.

from C:/RUBY-2~1.0-X/lib/ruby/2.0.0/mkmf.rb:516:in `try_link0'

from C:/RUBY-2~1.0-X/lib/ruby/2.0.0/mkmf.rb:531:in `try_link'

from C:/RUBY-2~1.0-X/lib/ruby/2.0.0/mkmf.rb:717:in `try_func'

from C:/RUBY-2~1.0-X/lib/ruby/2.0.0/mkmf.rb:1001:in `block in have_func'

from C:/RUBY-2~1.0-X/lib/ruby/2.0.0/mkmf.rb:892:in `block in checking_fo

r'

from C:/RUBY-2~1.0-X/lib/ruby/2.0.0/mkmf.rb:337:in `block (2 levels) in

postpone'

from C:/RUBY-2~1.0-X/lib/ruby/2.0.0/mkmf.rb:307:in `open'

from C:/RUBY-2~1.0-X/lib/ruby/2.0.0/mkmf.rb:337:in `block in postpone'

from C:/RUBY-2~1.0-X/lib/ruby/2.0.0/mkmf.rb:307:in `open'

from C:/RUBY-2~1.0-X/lib/ruby/2.0.0/mkmf.rb:333:in `postpone'

from C:/RUBY-2~1.0-X/lib/ruby/2.0.0/mkmf.rb:891:in `checking_for'

from C:/RUBY-2~1.0-X/lib/ruby/2.0.0/mkmf.rb:1000:in `have_func'

from extconf.rb:3:in `<main>'


Gem files will remain installed in C:/RUBY-2~1.0-X/lib/ruby/gems/2.0.0/gems/bigd

ecimal-1.2.1 for inspection.

Results logged to C:/RUBY-2~1.0-X/lib/ruby/gems/2.0.0/gems/bigdecimal-1.2.1/./ge

m_make.out

コンパイルできないと言っているので、もう一度パスを

path=C:/Ruby-2.0.0-x64/bin

を実行した後

「"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat"」

を実行する。

C:\Users\garyo>"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\vcvar

s32.bat"

Setting environment for using Microsoft Visual Studio 2010 x86 tools.

ERROR: Cannot determine the location of the VS Common Tools folder.

と言ってくるので

path = %SystemRoot%\system32;%SystemRoot%;C:/Ruby-2.0.0-x64/bin

を実行して

「"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat"」

を実行。今度は上手くいった。

しかし「gem update」を行うとやはりコンパイルエラーがでる。

VS2010に対応していないとかそういう話の気がしてきた。

C:\Users\garyo>gem update

Updating installed gems

Updating bigdecimal

Building native extensions. This could take a while...

ERROR: Error installing bigdecimal:

ERROR: Failed to build gem native extension.

C:/Ruby-2.0.0-x64/bin/ruby.exe extconf.rb

checking for labs() in stdlib.h... *** 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:/Ruby-2.0.0-x64/bin/ruby

C:/Ruby-2.0.0-x64/lib/ruby/2.0.0/mkmf.rb:431:in `try_do': The compiler failed to

generate an executable file. (RuntimeError)

You have to install development tools first.

from C:/Ruby-2.0.0-x64/lib/ruby/2.0.0/mkmf.rb:516:in `try_link0'

from C:/Ruby-2.0.0-x64/lib/ruby/2.0.0/mkmf.rb:531:in `try_link'

from C:/Ruby-2.0.0-x64/lib/ruby/2.0.0/mkmf.rb:717:in `try_func'

from C:/Ruby-2.0.0-x64/lib/ruby/2.0.0/mkmf.rb:1001:in `block in have_fun

c'

from C:/Ruby-2.0.0-x64/lib/ruby/2.0.0/mkmf.rb:892:in `block in checking_

for'

from C:/Ruby-2.0.0-x64/lib/ruby/2.0.0/mkmf.rb:337:in `block (2 levels) i

n postpone'

from C:/Ruby-2.0.0-x64/lib/ruby/2.0.0/mkmf.rb:307:in `open'

from C:/Ruby-2.0.0-x64/lib/ruby/2.0.0/mkmf.rb:337:in `block in postpone'

from C:/Ruby-2.0.0-x64/lib/ruby/2.0.0/mkmf.rb:307:in `open'

from C:/Ruby-2.0.0-x64/lib/ruby/2.0.0/mkmf.rb:333:in `postpone'

from C:/Ruby-2.0.0-x64/lib/ruby/2.0.0/mkmf.rb:891:in `checking_for'

from C:/Ruby-2.0.0-x64/lib/ruby/2.0.0/mkmf.rb:1000:in `have_func'

from extconf.rb:3:in `<main>'


Gem files will remain installed in C:/Ruby-2.0.0-x64/lib/ruby/gems/2.0.0/gems/bi

gdecimal-1.2.1 for inspection.

Results logged to C:/Ruby-2.0.0-x64/lib/ruby/gems/2.0.0/gems/bigdecimal-1.2.1/./

gem_make.out

Crystal

Crystal - Rubyの魔神 を含むブックマーク はてなブックマーク - Crystal - Rubyの魔神 Crystal - Rubyの魔神 のブックマークコメント

Crystal - Ruby風文法を持ったコンパイル型言語

Crystal - Ruby風文法を持ったコンパイル型言語

実行速度が必要な所で使えそう。cを呼びやすいらしいのがいいな。

CUI版のTwitter client tw

CUI版のTwitter client tw - Rubyの魔神 を含むブックマーク はてなブックマーク - CUI版のTwitter client tw - Rubyの魔神 CUI版のTwitter client tw - Rubyの魔神 のブックマークコメント

Tw

Twitter client on Ruby.

Tw: Twitter client on Ruby.

gem install twは上手く行ったけど

tw

を実行すると

>tw

C:/PROGRA~1/RUBY-2~1.0/lib/ruby/2.0.0/rubygems/dependency.rb:296:in `to_specs':

Could not find 'yajl-ruby' (~> 1.1.0) - did find: [yajl-ruby-1.1.0-x86-mswin32-6

0] (Gem::LoadError)

from C:/PROGRA~1/RUBY-2~1.0/lib/ruby/2.0.0/rubygems/specification.rb:119

6:in `block in activate_dependencies'

from C:/PROGRA~1/RUBY-2~1.0/lib/ruby/2.0.0/rubygems/specification.rb:118

5:in `each'

from C:/PROGRA~1/RUBY-2~1.0/lib/ruby/2.0.0/rubygems/specification.rb:118

5:in `activate_dependencies'

from C:/PROGRA~1/RUBY-2~1.0/lib/ruby/2.0.0/rubygems/specification.rb:116

7:in `activate'

from C:/PROGRA~1/RUBY-2~1.0/lib/ruby/2.0.0/rubygems/specification.rb:119

9:in `block in activate_dependencies'

from C:/PROGRA~1/RUBY-2~1.0/lib/ruby/2.0.0/rubygems/specification.rb:118

5:in `each'

from C:/PROGRA~1/RUBY-2~1.0/lib/ruby/2.0.0/rubygems/specification.rb:118

5:in `activate_dependencies'

from C:/PROGRA~1/RUBY-2~1.0/lib/ruby/2.0.0/rubygems/specification.rb:116

7:in `activate'

from C:/PROGRA~1/RUBY-2~1.0/lib/ruby/2.0.0/rubygems/core_ext/kernel_gem.

rb:48:in `gem'

from C:/PROGRA~1/RUBY-2~1.0/bin/tw:22:in `<main>'

エラーが出て動かない。

環境はWindows7 ruby 2.0.0p195 (2013-05-14) [i386-mswin32_100]

トラックバック - http://ruby.g.hatena.ne.jp/garyo/20130927