質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Cygwin

Cygwinは、Unixのような環境を、Windows上で構築させるコマンドラインインターフェースです。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

2回答

5527閲覧

cygwinにruby-2.3.1をインストールしたい

ponsea

総合スコア15

Cygwin

Cygwinは、Unixのような環境を、Windows上で構築させるコマンドラインインターフェースです。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

0クリップ

投稿2016/07/04 12:02

cygwin上でrubyのバージョン2.3.1をrbenvを使ってインストールしようとしたのですがビルドエラーになります。rubyのバージョン2.3.0でも同様のエラーが出ました。
元々、古いバージョンのrubyは入れておらず、今回が初めてのインストールです。
検索して出てくる問題としては、printf.cのutoa関数の名前の競合や、readline-develがないなどの記事はありましたが、それとは違うエラーなのだと思います。
linux初心者で、linuxになれるためにもせめてcygwin上でrubyを動かしたいのですが、解決策を教えてください。

$ rbenv install 2.3.1
Downloading ruby-2.3.1.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.bz2
Installing ruby-2.3.1...

BUILD FAILED (CYGWIN_NT-10.0 2.5.1(0.297/5/3) using ruby-build 20160602-13-gd0a3219)

Inspect or clean up the working tree at /tmp/ruby-build.20160704202201.2396
Results logged to /tmp/ruby-build.20160704202201.2396.log

Last 10 log lines:
rake 10.4.2
test-unit 3.1.5
installing rdoc: /home/[user]/.rbenv/versions/2.3.1/share/ri/2.3.0/system
installing capi-docs: /home/[user]/.rbenv/versions/2.3.1/share/doc/ruby
The Ruby readline extension was not compiled.
ERROR: Ruby install aborted due to missing extensions
Configure options used:
--prefix=/home/[user]/.rbenv/versions/2.3.1
LDFLAGS=-L/home/[user]/.rbenv/versions/2.3.1/lib
CPPFLAGS=-I/home/[user]/.rbenv/versions/2.3.1/include

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

rbenv instll ...のコマンドを提供するrbenvのruby-buildは、UNIX系システム(UNIX-like systems)でRubyをコンパイル・インストールする機能です。WindowsはUNIX系システムではありません。CygwinはWindows上で擬似的にUNIX系環境を実現するものであり、UNIX系システムを完全にエミュレートしているものではありません。そのため、ruby-buildはCygwin上での動作をサポートしていません
参考: https://github.com/rbenv/ruby-build/issues/199

エラーメッセージからreadline拡張のコンパイル失敗とあるため、readlineのライブラリやヘッダファイルを導入すればコンパイル出来るようになる可能性はあります。しかし、上記の通り、全くサポートされていない環境での動作となりますので、他の原因でのエラーや不具合が発生する場合があります。そのときは、自力で解決する力が無いと今後使っていくことは困難だと思われます。

ただRubyを使いたいだけであれば、Windows版のバイナリを使うことをお勧めします。また、Ruby本体のマニュアルに従ってソースからインストールすることもできますが、Windows環境でのソースからコンパイルは上級者向けの選択ですので、それなりの(特にCやmakeに関する)知識が無いと難しいです。なお、Ruby自体はCygwinをサポートしています。

また、CygwinはLinux等のUNIX系システムをよく理解している人が、どうしてもWindows上で仕方なく必要に迫られてUNIX系環境で動作をさせたいときに使うのもです。複雑な仕組みのため、WindowsとUNIX系システム両方にそれなりの知識が無いと使いこなすことは難しいです。Linux初心者がUNIX系システムに慣れるためにCygwinを使うことはお勧めできません

もし、Linuxを学びたいのであれば、仮想環境を検討してください。Vagrantを使えば簡単にLinuxの仮想環境を構築できます。マシンスペック的に仮想環境が難しいのであれば、デュアルブートを検討してください。

投稿2016/07/04 12:48

編集2016/07/04 12:49
raccy

総合スコア21735

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ponsea

2016/07/04 14:27

ありがとうございます。readlineが原因なのですね。あきらめるべきかと思いましたが、 「Ruby自体はCygwinをサポートしています。」との情報を頂き、もしやと思ってsetup~~.exeからのインストーラでRubyがあったのでそれをインストールしたらなんとか動きました。(バージョンは2.2.5p319と表示されるものになった) linuxはもともとVirtualBox上でCentOSを動かして勉強してました。ですが気軽に既存のマシン(windows)でlinuxが使いたくてcygwinを使いました。とりあえずはこれで勉強を進めていこうと思います。ですが、今後動作が不安定になったらraccyさんのおっしゃるWindows版のバイナリにしようと思います。 では、これからルビーライフを満喫させていただきます!!!本当にありがとうございました。
guest

0

windows への ruby の導入は、web 上にいくつも情報があります。

他の回答にあるように windows 上で ruby 環境でのプログラム開発はハマりどころ満載です。
仮想環境で linux 系 OS を稼働させるか、 mac osx を使うことをお勧めします。

投稿2016/07/04 13:57

katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ponsea

2016/07/04 14:34

windowsで無理やりUnix系っぽく動かすのはやはりお勧めされないのですね。。 お金と知識がたまったらちゃんとしたLinux環境(またはOS X)で動作させたいと思います。。 回答ありがとうございます。
katoy

2016/07/04 14:47

http://techacademy.jp/magazine/6168 > ... > ブラウザ上で動くため、PCに依存することなく開発環境を準備することができるのが利点です。また、無料で使うことができるのも良さのひとつです。 > ... のようなものも検討の価値があるかもしれません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問