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

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

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

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

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

3回答

2441閲覧

Rails開発のためにCentOSをWindows10で使う是非について

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby

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

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

1クリップ

投稿2017/11/23 02:14

いつもお世話になっています。

私は、最近RubyとRailsを勉強し始めた初心者で、Windows10を使っています。

しかし、実際に色々な解説記事を参考にしてアプリを作ろうとすると、「Windowsだとこのgemは使えないよ」というのが多く、解説記事通りにできないということが頻繁に起こっています。

そこで色々と調べてみると、「CentOSをWindowsに入れると良い」という意見を見かけたのですが、CentOSをWindowsに入れることで、Rails開発においてどのようなメリット・デメリットがあるのでしょうか?

また、CentOSじゃなくて、○○を入れたほうが良いという意見があれば、お聞きしたいです。

よろしくお願い致します。

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

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

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

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

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

guest

回答3

0

ベストアンサー

Railsに限らず、Webアプリの開発では仮想マシンを使うべきです。

Windowsで直接Ruby/Railsを使うのは必ず挫折するというか、時間の無駄になります。
というのも、私自身、メインOSとしてWindowsを使っていて、どうにかしてWindowsでRuby/Railsの開発をスマートにできないかなといろいろ試してきた経験があるからです。
その結果、VirtualBoxでCentOS7の仮想マシンを作成し、その上で作業するのが一番簡単でトラブルがないという当たり前の結論に落ち着きました。
ファイルの共有は、vagrantの機能でもいいし、sambaでも良いです。

私の現在の環境はこんな感じです。

ホストOS(メインOS):Windows10 64bit
マシンスペック: Corei7 6700K 4.00GHz(論理8コア。実コア4), メモリ16GB、SSD256GB、HDD2TB

ゲストOS(仮想マシンのOS):CentOS7 64bit (VirtualBox + Vagrant)
仮想マシンスペック:仮想CPUコア2、メモリ2GB、HDD50GB

さて、メリット、デメリットについて簡単にまとめます。

最近のPCはだいたい性能が高いので、仮想マシンを1つや2つ同時に起動したところで重くもなんともありませんので、PCのメモリがある程度必要といった事はデメリットには含めません。

CentOSの仮想マシンを使って開発するメリット

  • 情報が多い(CentOSでrailsを使っている記事は多いと思います)
  • gemなどがWindowsに対応していない事によるトラブルがなくなる
  • 本番サーバと同じ環境である(VPSなどを借りた時に同じOSを選びましょう)
  • Linuxの操作、知識を覚える事ができる (一般的なWebエンジニアならば必須の技能)

デメリット

  • ありません(本当です)

しいて言えば、この2点ですが、
・仮想をマシンを作業前に起動する必要がある
・コマンドを打つために、TeraTermなどのターミナルソフトが必要になる

参考記事などの作業通りに出来ない苦労などを考えたら、デメリットですらありません。

さて、いざ仮想マシンでCentOSを使おうとすると、Linuxの知識がなくて苦労すると思います。
しかし、一度覚えてしまえば良いだけだし、覚える価値があります。
少なくともRuby/Railsよりも、仮想マシンとCentOSを扱える事のほうが普遍的な価値があります。
言語やフレームワークには流行り・廃りがあるので、将来的にはまったく別の言語、フレームワークを触っている可能性があります。
しかし、その時もCentOS(などのLinux系OS)を使う事になるでしょう。
そして、相変わらずWindowsで直接扱うのは苦労すると思います。

vagrant+VirtualBox+CentOSで検索すれば環境構築の方法はたくさん出てくるのでトライしてみてください。

投稿2017/11/23 03:24

mingos

総合スコア4025

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

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

退会済みユーザー

退会済みユーザー

2017/11/23 08:55

解答ありがとうございます。 早速、vagrant+VirtualBox+CentOSで環境構築をしたいと思います!
guest

0

「CentOSをWindowsに入れると良い」というのは、たぶんOracleのVirtualBoxかVMware fusionをインストールし、その上にゲストOSとしてCentOSを入れる、という意味ですよね。
なので、まず「仮想マシン」などの単語でググってみてください。
Railsの勉強にはCentOSを入れると良いです。理由は、Railsは基本的にはサーバマシンで動作するフレームワークで、サーバOSにはCentOSなどのLinuxが使われることが多いから。
しかし、とはいえ初心者にはこういった環境構築が非常に高いハードルで、環境構築の途中で挫折してしまってRailsの勉強にさえたどり着けないということも多々あります。
そんな時には、Cloud9というクラウド環境を使って勉強するのも一案です。
実運用の場合は環境構築の苦労を避けて通ることはできませんが、そのせいで勉強が進まないのは本末転倒ですから。

投稿2017/11/23 02:29

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

退会済みユーザー

退会済みユーザー

2017/11/23 08:57

解答ありがとうございます。 では、まずはVirtualBox+CentOSの環境構築に挑戦して、ダメそうだったらCloud9を試してみます。
guest

0

「Windowsに入れる」ということで、仮想マシンで構築するということを前提として話を進めます。

メリット

  • 実サーバに近い環境で開発できる(CentOSはRedHat系Linuxで、実際のサーバがCentOSで動いている場合もありますし、AWSのAmazon Linuxも似たような環境です)
  • Windows特有の環境構築の手間に煩わされずに済む

デメリット

  • 実マシンのリソースは(特にメモリ)それなりに要求される
  • CentOS自体の環境構築の手間がかかる
  • 仮想マシンと実マシンの同期も、設定になれないと面倒だったりする

投稿2017/11/23 02:23

maisumakun

総合スコア145183

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

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

退会済みユーザー

退会済みユーザー

2017/11/23 08:59

解答ありがとうございます。 将来的には、個人でWEBサービスを作りたいので、CentOSの環境構築を試したいと思います!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問