teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

補足を追加

2016/10/21 14:32

投稿

raccy
raccy

スコア21767

answer CHANGED
@@ -8,7 +8,7 @@
8
8
  そこで、代替手段です。
9
9
 
10
10
  1. mingw-w64-x86_64-rubyパッケージのRubyを使う。
11
- MSYS環境では無く、MINGW64環境でしか使えませんが、どうせコンパイル時にはgccが必要でありMINGW64環境にするのであれば、些細な問題です。また、このパッケージのRubyの方が新しいバージョン(2.3.1)であること、nokogiriについてはCの拡張部分についてバイナリが用意されているためコンパイルしなくても入ること、この二つを考えればそまま使った方良いかと思います。nokogiriはgemで簡単に入ります。
11
+ MSYS環境では無く、MINGW64環境でしか使えませんが、どうせコンパイル時にはgccが必要でありMINGW64環境にするのであれば、些細な問題です。また、このパッケージのRubyの方が新しいバージョン(2.3.1)であること、nokogiriについてはCの拡張部分についてバイナリが用意されているためコンパイルしなくても入ること、二つの利点あります。なお、nokogiriはgemで簡単に入ります。他の代替手段についても同様にgemでインストールできます。
12
12
  2. [RubyInstaller](http://rubyinstaller.org/)のRubyを使う。
13
13
  MSYS2にする必要が必ずしも無ければ、RubyInstallerを使うことを推奨します。1.とほぼ一緒であり、同じくnokogiriにはバイナリが用意されています。
14
14
  3. [Vagrant](https://www.vagrantup.com/)等を使って、Linuxな仮想環境でRubyを使う。
@@ -19,4 +19,9 @@
19
19
 
20
20
  なお、rbenvがうまくいかない件については詳しく調べていませんが、Windows環境だからかも知れません。rbenvはUNIX/Linux環境しかサポートしません。MSYS2はUNIX/Linuxっぽい環境は提供しますが、そのものでは無く、多くの制約があります。このようにUNIX/Linux環境前提のアプリケーションがそのままではうまくコンパイル出来ないことは多々あります。エラーログを詳しく調べれば解決できるかも知れませんが、かなり厳しいです。
21
21
 
22
- rbenvをどうしても使いたい場合は、上の3.、4.、5.の何れかの手段を使うことをお勧めします。なお、CygwinはMSYS2よりはUNIX/Linux環境をより深くエミュレートしてくれますが、完全ではありません。うまくいく可能性は高いですが、同じように嵌まる可能性も0ではありません。
22
+ rbenvをどうしても使いたい場合は、上の3.、4.、5.の何れかの手段を使うことをお勧めします。なお、CygwinはMSYS2よりはUNIX/Linux環境をより深くエミュレートしてくれますが、完全ではありません。うまくいく可能性は高いですが、同じように嵌まる可能性も0ではありません。
23
+
24
+ ---
25
+ 【補足】
26
+ nokogiriがRuby 2.3系のWindowsで使えないという情報は、少し前のバージョンまでRuby 2.3系のバイナリを用意してなかったというバグがあったからです。現在そのバグは修正されており、Ruby 2.3系であっても問題なく使用できはずです。
27
+