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

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

ただいまの
回答率

88.09%

皆さんのmacでの開発環境について

解決済

回答 8

投稿 編集

  • 評価
  • クリップ 4
  • VIEW 5,442

score 107

お世話になっております。

macで開発をされている方に、環境を伺いたく質問しました。
とくにRails、PHPを使っている方々の環境を教えてください。

聞きたいことと、理由・懸念は次の通りです。

  1. Vagrantなどの仮想環境は使わず、MacOSのままで動かしているか
    => WebサーバやDBをMacOSに入れるとPCが重くなったり、2種類(MySQLとPostgreSQL, ApacheとNginx)使いたい時にどうするか迷う

  2. 仮想環境を使ってその中にすべて載せている人は、ソースはホストOS、ゲストOSどちらに置いているか。
    => ソースだけ見たい時にわざわざ仮想環境を起動するのも面倒なのですが、vagrantのフォルダ共有だと1か所しか貼れない?ので、、
    仮想環境内に複数プロジェクトがある場合に困る。とくにPHPとRailsが混在した環境だと、どこをDocumentRootにしたらよいかでNginxやApacheの設定が手間になる。

  3. Redisなどを使いたくなった場合も、仮想環境ではなくmac内にそのままインストールしているか。
    => 前述通り、重くならないか。

「重くなるのでは」という懸念は、「使わないときに落とせばいい」という意見もありますが、都度操作するのも面倒なので、、

今までWindowsを使ってVagrantのCentOS内に環境を作っていましたが、
Macでもおなじことをしていると結局あまりホストOSの差はないのかな、と思い、
皆さんはどうしているのか、お伺いできればと思いました。

プライベート用、仕事用、Railsしか使わない、など状況は様々だと思いますが、
できればmacのメリットを生かした環境で開発したいと思ってます(当面は自宅の勉強用ですが)

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


[追記]
皆さんご回答あリがとうございます。
できればもう少しいろんなパターンを見てみたいので、もう少しCloseせずに置いておこうと思います。
自分でなくても、同僚や友達がやっているやり方でもけっこうです。
自分はまだやってないけど、「理想としては」でもけっこうです。
よろしくお願いいたします。

[追記の追記]
みなさん更にご意見ありがとうございます。
わがままですが、出来ればRailsアプリ開発をされている方の状況が聞けたら嬉しいです。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 8

+2

自分はLAMPでWebサービスの開発をやっていますが、VirtualBox上にLinuxを構築して開発(検証)しています。普段、コードを書くときはiTermでSSH経由でLinuxにログインしてvimで開発しています。
Mac自体には最低限のChromeとGIMPが入っているぐらいで後は何もしていないですね...。ややもったいない気もしますが、変にソフトウェア入れ謎に重くなるとか嫌なので、Mac自体はなるべくクリーンにしています。
そのおかげか3年ぐらい同じMacbook使っていますが、購入直後と変わらないサクサク感で動くいているし、トラブルもありません...。逆に仮想環境はおかしくなったら作り直せばいいので、適当にインストールしたりしまくってますね。
※まぁMacもクリーンインストールすればいいかもですが...やや手間が違うかと。

余談ですが、一時期MacbookにUbuntuをインストールしてデュアルブートにしていたときもありました。その時はUbuntuにLAMP環境構築してたし、ローカルでコード書いてましたね。

※自分は本番環境がLinuxなので、なるべく開発もLinux上でしたいので、Mac上に開発環境を構築しないという理由もあるかもしれません。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/10/26 19:58

    ご回答ありがとうございます。

    >Mac自体はなるべくクリーンにしています。
    同じ状況です。仮想環境は気軽に作り直せるのがメリットですが、macであることのメリットがあまりなくなってしまうので、ちょっと残念かと思ってます(スペックがいいので起動が早い、virtualbox上のLINUXと共有フォルダやNFSなどの親和性が高いなどはありますが)

    僕も余談ですが、Windows7にVMwareでUbuntu入れて開発してました。ホストOSのパワーがあればそれでもいいのかもですね。デュアルブートまではできませんでしたが。。

    キャンセル

+1

PHPですが、
1.基本vagrantを仕様しています、実際の案件によりphpのバージョンやOSを本番環境に近いものにする為、いくつかのvagrantのboxを使い分けています。
2.ソースは基本ホストOSで管理し、vagrantのvagrant rsync-autoでゲスト上に同期しています。

  1. Redis、使った事はありませんが、基本出来上がったソースが利用するソフトウェアはvagrant上のゲストOSの方にインストールします。gulp等、javascriptやcssを結合コンパイルするなど開発資産に対して利用する部分に関連するものはMACの方にインストールしてます。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/10/26 19:51

    ご回答ありがとうございます。
    僕もほぼ同じ環境です。が、(あんまりないですが)vagrantを使い分けると、複数起動しなければならない場合があるので、なるべく一つにまとめてしまうんですが、DB2種類とかあまり入れたくないんですよね。。
    jsのコンパイルツールはmac側というのは、vagrant内の環境やプロジェクトによらないからですかね。なるほどです。

    キャンセル

checkベストアンサー

0

Railsに限らずRubyで色々開発してます。
コードを書くのはmacOS上で書きそれを Vagrant + VirtualBox で動かしています。

Macでもおなじことをしていると結局あまりホストOSの差はないのかな、と思い、 

「書いたコードを動かす」という点では確かにホストOSはなんでもいいんですが、コードを書くのはmacOS上で行っているという点では、macOSだとgrepやcurl、sedなどのツールが充実していますし足りないものはhomebrewで簡単に入るので非常にはかどります。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/10/27 07:45

    ご回答ありがとうございます。
    VirtualBox上にWebサーバやDBを構築し、フォルダ共有などでソースをホスト - ゲスト間で共有、という環境ですかね。
    macOS上でコードを書く、ということですが、Railsプロジェクトはどちらで作りますでしょうか。
    - macOS上でRailsプロジェクトを作ってゲストOSと共有してゲストOS内で動作
    - ゲストOS内でRailsプロジェクトを作ってからmacOSに持ってくる

    macOS(ホストOS)にrbenvは入れているので、rubyだけならmacOS上で完結できますが、Railsまで入れるかどうか迷ってます。。(迷うほどのことでもないのですが)

    bundleやcomposerをmacOS上に置いていいものか、バージョンも変わるし、、
    といったことが(小さな)悩みです;;

    キャンセル

  • 2016/10/28 08:24

    そうです。基本的には全てゲスト側にあって、フォルダ共有でソースコードをmac側からも編集できるようにしているというだけです。本番環境さながらの環境で開発できます。

    プロジェクトを作るというのは rails new の事でしょうか? どちらでもいいと思います。
    ただし bundle install は ゲスト側です。guardなんかもゲスト側で動かします。
    rails s もゲスト側です。rails cもゲスト側で実行します。

    mac側にはrubyすら不要です。

    キャンセル

  • 2016/10/30 07:58

    ご返信ありがとうございます。

    >プロジェクトを作るというのは rails new の事でしょうか?
    その通りです。ホスト側でやる、となると、動かすのはゲストOS内でもホスト側にRailsを入れないといけないし、、というのが悩みどころでした。

    >mac側にはrubyすら不要です。
    本当に書くだけなのですね ^ ^

    上記の環境だと「macであること」のメリットが少ない(少なくともRailsやPHPアプリを作るだけなら)かもですが、他の方も仰っている通り、凝った仮想環境を作ったり、CUIでの操作がしやすいなど、アプリ開発の外部環境面で利点が多い印象を受けました。

    意外とmacでも仮想環境を作って開発されている方が多いようで、
    今の自分のスタイルと近いので安心?しました。
    ありがとうございました。

    キャンセル

0

商用環境がRHEL系なので、VirtualBox+VagrantでCentOSを利用しています。
PHPやRubyの環境はゲストOS内に構築しています。

macOS上でも出来ますが、処理系のバージョンを切り替えたり、複数環境を同時に構築するので、
ローカルのmacOSの環境は壊したくないと思って、ゲストOSを活用してます。
仕事の場合は特に商用環境に出来る限り近い環境でテストを行うので、macOSという選択肢はありません。

重ければメモリを追加すればいい話なので気にしてません。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/10/26 19:54

    ご回答ありがとうございます。

    >ローカルのmacOSの環境は壊したくないと思って、
    同感です。開発専門で使っているわけではないので、あまりごちゃごちゃさせたくないんですよね。。
    確かにmacはスペックがいいので、vagrantの起動も(たまに失敗しますが)1分くらいですし。

    キャンセル

0

当方、PHP, Javaを扱うときに、macbook air を使っています。
ディスク容量が小さいので、仮想環境は使っていません。

PHP, Java ともに、 Netbeans を利用し、実行環境は基本的に Homebrew でインストールした環境で動作確認しています。
簡単なアプリケーションであれば、Apacheはインストールせず、PHP組み込みのサーバーで動作を確認します。
Unitテストを実行するため、MySQLも基本的に Homebrew でインストールしています。テストだけが目的なので、レコードをいっぱいに溜め込む必要もありません。

ちょっとした規模のものは、某社のVPSを一台借りているので、アプリケーションごとに VirtualHost で管理し、同じサーバーに SVN を用意して、ソースコード管理をしています。開発中のものは、手元にありますが、保守期間のものなどは、手元に置かず、SVNにバックアップしている。

Javaについては、スタンドアロンのアプリケーション作成が主な用途なので、サーバーは必要としません。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/10/26 20:03

    ご回答ありがとうございます。
    確かにRailsでもwebrickなど、フレームワークやIEDによってはWeb/APサーバは必須ではないこともありますね。
    仰るように、ある程度アプリが完成してきたら、VPSを借りてみるのがいいですね。
    もう少し安ければ、場所もホストOSも選ばないので、SSHしてローカル用として使うことも考えたのですが。。

    キャンセル

0

macのメリットを活かしたい

そもそもWindowsのターミナルって微妙じゃないですか?
色々試しましたが、どれもなんか惜しいんですよね…何か試す度に丸一日吹き飛ぶので疲れます。

CLIで作業をする限り常にMacの恩恵受けられるといっても過言ではないと思ってます。

Homebrewがあるので、ターミナルで作業していれば何かしらの恩恵は必ず受けられます。
特にちょっと試す、ちょっと作業するのCLIの整い方が段違いです。
探せば色々ありますが、例えばこんなのとか…

他にもターミナルエミュレータのiTerm2が完成されすぎてメリットの塊です。
私はホットキーを押すと下からターミナルが生えてくる設定でやってます。

因みに仮想窓でシャカシャカ切り替えるのもMacの専売特許でしたが、Windows10に輸入されましたね。

ソースはホストOS、ゲストOSどちらに置いているか。

今はVimを使っているので、別にホストにソースを置く意味はないのでゲストOS派です。
Vimに移行する前はPHPStorm、Sublime、Atomを使っており、その時はホストOS派でした。
GUIエディタの為にVagrantのフォルダ共有機能が存在しているといっても過言ではないと思います。

前述通り、重くならないか
都度操作するのも面倒なので、、

vagrant provision一撃でサーバーが動く環境が立ち上がるようになっていますか?
私は頑張ってAnsible覚えました。
基本壊した状態で作業が出来るようになりますので、気分的にもかなり楽になりました。

ローカルのストレージの圧迫が気になる場合、
vagrant-conohaのようにVirtualBOXではなく、VPSやクラウドマシンを使う選択肢もあります。
最近は普段からConoHa上で作業していますが十分快適ですね。

環境が必要そうな気配を確認してから、Vagrantfileをコピペで作ってインスタンス立ち上げ余裕です。

GUIでやる場合、vagrant-gatling-rsyncみたいなものを利用すれば
VPS越しでも十分ホストにソースコードを置きながら作業出来ます。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/10/27 07:08 編集

    たくさんの情報、ありがとうございます。ご紹介いただいたようなことはWindowsでは難しいので、Macなら可能な技術ですね。

    >そもそもWindowsのターミナルって微妙じゃないですか?
    おっしゃる通り、コマンドプロンプトは論外ですしCygwinも微妙ですね。
    ただ「仮想環境を作るのであれば」という前提であれば、TeratermやPoderosaなどで接続できるので普通に使う分にはあまり「Macだから」というメリットは感じられませんでした。。

    ご紹介いただいたような、凝った設定をしたい場合はUNIX環境でないと難しいのでしょうが、結局仮想環境を作るのであれば、凝った仮想環境の作り方や便利なTerminalの設定は必須でない、というのであればWindowsとMacに差はないのかも、と思ってしまいました。

    キャンセル

0

macのメリットを生かした環境

仕事の種類によると思いますが、環境に依存しないロジック部分を開発することが多ければ、 Mac上で動かしてデバッガでデバッグできる環境のほうが良いと思います。Windows に比べると Linux との親和性が高く、ファイルのパス、プロセス、使えるツール・コマンドなどにおいて本番環境との乖離が少なくてすむと思います。

Java にしても Javascript にしても、リモートデバッグも可能なので仮想環境でもデバッガを接続できなくはないですが、ソースをマウントしたり環境構築に一手間かかります。

Java なら Eclipse、 Javascript なら Atom+Chrome で仮想環境無しで開発し、Virtual Box 上の Linux ではインストーラなど環境依存の部分のみを開発しています。(vim と普通のエディタを行ったり来たりすると "jjjj" とかを打ち込んでしまう問題はありますが・・・)

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/10/27 21:49

    ご回答ありがとうございます。
    極力macでやる派ですね。
    おっしゃるとおり、コマンド操作でwindowsを推す人は稀有だと思いますし、データベースやwebサーバが絡まない作業なら、macの方がベターですね。

    キャンセル

0

Rails な業務システムを私物の Mac で開発するという宜しくないデベロッパーですが…

  • 仮想環境は使わず、Mac でベタに環境構築してる
  • 複数プロジェクトあるけど、rbenv と bundle で環境は切り分けて問題なし
  • homebrew で MariaDB 入れて動かしてるけど、重さは気にならない(Late 2013 な Macbook Pro)
  • あー、LDAP だけ面倒なことになってるなぁ… docker にしたいけど、未だ不勉強で使えてない

といったところです。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/10/30 07:46

    ご回答ありがとうございます。
    全てmac上で完結させているのですね。ノートPCでもDB入れても開発レベルでは気にならないなら、いいですね。

    (僕も不勉強ですが)dockerが入れやすい、というのはmacのアドバンテージですね。
    なるほど、dockerか。。。
    ありがとうございました。

    キャンセル

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

  • ただいまの回答率 88.09%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る