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

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

新規登録して質問してみよう
ただいま回答率
85.50%
MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Q&A

解決済

8回答

6852閲覧

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

yoshiky

総合スコア105

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

2グッド

4クリップ

投稿2016/10/26 06:49

編集2016/10/27 13:04

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

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

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

  1. Vagrantなどの仮想環境は使わず、MacOSのままで動かしているか

=> WebサーバやDBをMacOSに入れるとPCが重くなったり、2種類(MySQLとPostgreSQL, ApacheとNginx)使いたい時にどうするか迷う

  1. 仮想環境を使ってその中にすべて載せている人は、ソースはホストOS、ゲストOSどちらに置いているか。

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

  1. Redisなどを使いたくなった場合も、仮想環境ではなくmac内にそのままインストールしているか。

=> 前述通り、重くならないか。

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

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

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

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


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

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

LLman, hana-da👍を押しています

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

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

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

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

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

guest

回答8

0

自分は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 08:23

編集2016/10/26 08:24
popobot

総合スコア6586

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

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

yoshiky

2016/10/26 10:58

ご回答ありがとうございます。 >Mac自体はなるべくクリーンにしています。 同じ状況です。仮想環境は気軽に作り直せるのがメリットですが、macであることのメリットがあまりなくなってしまうので、ちょっと残念かと思ってます(スペックがいいので起動が早い、virtualbox上のLINUXと共有フォルダやNFSなどの親和性が高いなどはありますが) 僕も余談ですが、Windows7にVMwareでUbuntu入れて開発してました。ホストOSのパワーがあればそれでもいいのかもですね。デュアルブートまではできませんでしたが。。
guest

0

PHPですが、
1.基本vagrantを仕様しています、実際の案件によりphpのバージョンやOSを本番環境に近いものにする為、いくつかのvagrantのboxを使い分けています。
2.ソースは基本ホストOSで管理し、vagrantのvagrant rsync-autoでゲスト上に同期しています。
3. Redis、使った事はありませんが、基本出来上がったソースが利用するソフトウェアはvagrant上のゲストOSの方にインストールします。gulp等、javascriptやcssを結合コンパイルするなど開発資産に対して利用する部分に関連するものはMACの方にインストールしてます。

投稿2016/10/26 06:59

hiim

総合スコア1689

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

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

yoshiky

2016/10/26 10:51

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

0

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

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

といったところです。

投稿2016/10/29 01:45

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

yoshiky

2016/10/29 22:46

ご回答ありがとうございます。 全てmac上で完結させているのですね。ノートPCでもDB入れても開発レベルでは気にならないなら、いいですね。 (僕も不勉強ですが)dockerが入れやすい、というのはmacのアドバンテージですね。 なるほど、dockerか。。。 ありがとうございました。
guest

0

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

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

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

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

投稿2016/10/27 00:39

mit0223

総合スコア3401

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

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

yoshiky

2016/10/27 12:49

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

0

ベストアンサー

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

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

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

投稿2016/10/26 22:24

hana-da

総合スコア1728

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

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

yoshiky

2016/10/26 22:45

ご回答ありがとうございます。 VirtualBox上にWebサーバやDBを構築し、フォルダ共有などでソースをホスト - ゲスト間で共有、という環境ですかね。 macOS上でコードを書く、ということですが、Railsプロジェクトはどちらで作りますでしょうか。 - macOS上でRailsプロジェクトを作ってゲストOSと共有してゲストOS内で動作 - ゲストOS内でRailsプロジェクトを作ってからmacOSに持ってくる macOS(ホストOS)にrbenvは入れているので、rubyだけならmacOS上で完結できますが、Railsまで入れるかどうか迷ってます。。(迷うほどのことでもないのですが) bundleやcomposerをmacOS上に置いていいものか、バージョンも変わるし、、 といったことが(小さな)悩みです;;
hana-da

2016/10/27 23:24

そうです。基本的には全てゲスト側にあって、フォルダ共有でソースコードをmac側からも編集できるようにしているというだけです。本番環境さながらの環境で開発できます。 プロジェクトを作るというのは rails new の事でしょうか? どちらでもいいと思います。 ただし bundle install は ゲスト側です。guardなんかもゲスト側で動かします。 rails s もゲスト側です。rails cもゲスト側で実行します。 mac側にはrubyすら不要です。
yoshiky

2016/10/29 22:58

ご返信ありがとうございます。 >プロジェクトを作るというのは rails new の事でしょうか? その通りです。ホスト側でやる、となると、動かすのはゲストOS内でもホスト側にRailsを入れないといけないし、、というのが悩みどころでした。 >mac側にはrubyすら不要です。 本当に書くだけなのですね ^ ^ 上記の環境だと「macであること」のメリットが少ない(少なくともRailsやPHPアプリを作るだけなら)かもですが、他の方も仰っている通り、凝った仮想環境を作ったり、CUIでの操作がしやすいなど、アプリ開発の外部環境面で利点が多い印象を受けました。 意外とmacでも仮想環境を作って開発されている方が多いようで、 今の自分のスタイルと近いので安心?しました。 ありがとうございました。
guest

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/26 12:00

miyabi-sun

総合スコア21158

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

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

yoshiky

2016/10/26 22:10 編集

たくさんの情報、ありがとうございます。ご紹介いただいたようなことはWindowsでは難しいので、Macなら可能な技術ですね。 >そもそもWindowsのターミナルって微妙じゃないですか? おっしゃる通り、コマンドプロンプトは論外ですしCygwinも微妙ですね。 ただ「仮想環境を作るのであれば」という前提であれば、TeratermやPoderosaなどで接続できるので普通に使う分にはあまり「Macだから」というメリットは感じられませんでした。。 ご紹介いただいたような、凝った設定をしたい場合はUNIX環境でないと難しいのでしょうが、結局仮想環境を作るのであれば、凝った仮想環境の作り方や便利なTerminalの設定は必須でない、というのであればWindowsとMacに差はないのかも、と思ってしまいました。
guest

0

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

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

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

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

投稿2016/10/26 08:39

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

yoshiky

2016/10/26 11:03

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

0

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

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

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

投稿2016/10/26 07:49

moonphase

総合スコア6621

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

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

yoshiky

2016/10/26 10:54

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問