開発環境を構築する2016年春版(LinuxMint 17.3)
LinuxMint 17.3をインストールしたので開発環境を構築していく。OSインストール後にアップデートかけた状態からスタート
開発環境を作る前にやること
日本語化
基本的にOSインストール終わった時点である程度日本語化されているが、若干足りないので諸々入れておく。やり方は以下参照
終わったら再起動。 再起動したらfcitxとmozc等の日本語入力環境がインストールされているので、困ったら日本語でググる。
日本語フォルダを英語にする
Macみたいに日本語フォルダから英語フォルダにエイリアス張ってるならともかく、いくらGUI環境とはいえ日本語フォルダのままじゃコマンドラインから補完できなくて使いにくすぎるので英語フォルダに戻す。
$ LANG=C xdg-user-dirs-gtk-update
英語化する時に日本語フォルダ内にファイルが存在すると英語化されない。その場合は一度ファイルを別の場所に退避してから英語化しなければならないのだけど、他フォルダが既に英語化されていると、上記を再実行しても英語化してくれない。その場合は一度、英語化したフォルダを日本語に戻し、再度上記を実行する必要がある。英語化したフォルダを日本語化するには以下を実行する。
$ LANG=ja_JP.UTF-8 xdg-user-dirs-gtk-update
gcc等々
とりあえず開発環境を整える前準備としてgcc等を入れておく。
# apt-get install build-essential
sshサーバ
デスクトップ環境と言ってもLinuxなので、他のPCからログインして弄れると便利。なのでsshサーバを入れておく
# apt-get install openssh-server
インストールしたら鍵交換認証なんかを設定するんだけども、そこら辺はググればいくらでも出てくるので割愛。
アンチウイルス(ClamAV)
Linuxなのにアンチウイルスは必要か?と聞かれれば、「サーバじゃないし変なサイトみなけりゃ大丈夫じゃね?」なんて無責任な事を言いたくなりますが、やっぱデスクトップ環境でも入れとくべきでしょう。感染して後悔するよりはマシですから。
ubuntuの標準リポジトリにclamavは用意されてるので普通にインストール。詳しくは以下のLinux>Ubuntuを参照。
# apt-get install clamav clamav-daemon libclamunrar6 clamtk
clamavはリアルタイムでスキャンはしてくれないんだけども、手動でスキャンすることができるようになる。まぁ無いよりはマシってことで、こんぐらいで妥協。
VIM
なんだかんだでちょっとしたファイルの変更をするのに必要。デフォルトではvim.tinyと言うショボイ版vimが入ってるけどショボイので普通のVIMを入れてやる。
# apt-get install vim
Ricty
開発環境なんだから開発しやすくしなくちゃね、っと。やっぱ見やすいフォントは必須でしょうって事でRictyをインストールする。若干面倒臭いが、やるだけの価値があるフォントだと思う。ほんとに見やすい。インストール方法は以下を参照。
https://github.com/yascentur/Rictygithub.com
fontforge
普通にaptでインストール
# apt-get install fontforge
inconsolata
次に「inconsolata」というフォントをインストールする。このフォントはubuntuのリポジトリにパッケージは存在する(fonts-inconsolata)が、このパッケージではotfが提供されていてttfは提供されていない。Rictyのバージョン4.0からotfじゃなくttfを使う様になったようなので、素直にttfを落としてきて使う。(参考:Ubuntu – Error)
- 上記サイトに行き、右上にある「Open Inconsolata in Google Fonts」のリンクをクリック。
- 遷移したページで「Bold 700」にチェックを入れてから、右上にある下矢印をクリックするとダウンロードのダイアログが表示される。
- ダウンロードダイアログの「.zip file」をクリックするとzipでダウンロードされる。
- ダウンロードしたzipファイルを展開して、フォントファイルをフォントビューアで開く(ttfファイルを右クリするとコンテキストメニューに出てくる)
- フォントビューアからインストール(「$HOME/.local/share/fonts」に入るっぽい)
Migu 1M
Migu 1Mはubuntuのリポジトリに存在する。そちらをインストールする。(参考:Ubuntu – Error)
# apt-get install fonts-migmix
Ricty関連ファイル
githubのRictyページから関連ファイル一式をダウンロード。まだgitコマンドはインストールしてないので、githubページの「Download ZIP」のボタンから落とすのが手っ取り早い。
https://github.com/yascentur/Rictygithub.com
落としたzipファイルを展開し、中にある「ricty_generator.sh」を実行。
$ ./ricty_generator.sh $HOME/.local/share/fonts/Inconsolata-Regular.ttf $HOME/.local/share/fonts/Inconsolata-Bold.ttf /usr/share/fonts/truetype/migmix/migu-1m-regular.ttf /usr/share/fonts/truetype/migmix/migu-1m-bold.ttf
数分待つとフォントが生成される。生成されたフォントを右クリックし、フォントビューアからインストール。(「~/.fonts」にコピーしないのはユーザフォントを一箇所で管理したい為。別に公式に書いてある通り「~/.fonts」にコピーする方法でも同じ)
フォントのインストールが終わったらキャッシュ更新しておく。
$ fc-cache -vf
ブラウザ関連
ブラウザ(Chrome)
デフォルトでFirefoxが入っているけども、chromeも入れておく。firefoxで「chrome」ってググッてやればインストールページがあるのでそこからブラウザ経由でインストール。
ブラウザ(Chromium)
正直Chromeあるならいらない気もするけど、とりあえず入れておく。昔はLinux版のChromeは32bit版だけしかなくて、64bit対応しているChromiumを常用してたりしてたんだけど、今はChromeが64bit対応してくれたので、ブラウザオタク以外は必要ないかも。私の場合、Googleにログインしている状態でやってもいいことはChromeでそれ以外はChromium使ったりする。シークレットモード使えって話なんだけどね・・・。まぁ入れといて困るものでもないので入れておく。
# apt-get install chromium-browser
ブラウザ(Opera)
いや、使わないんだけどね。Web開発したりもするので、慣例というかなんというか、とりあえずインストールしとく。
Operaの場合、インストール方法は2種類ある。Chromeと同じくブラウザからダウンロードする方法とPPAからインストールする方法だ。今回はPPAでインストールする。
やり方は上記参照。リポジトリ追加してそこからインストールする感じ。
# wget -O - http://deb.opera.com/archive.key | sudo apt-key add - # sudo sh -c 'echo "deb http://deb.opera.com/opera-stable/ stable non-free" >> /etc/apt/sources.list.d/opera.list' # apt-get update
ここまでやったらインストールなんだけども「opera」で入れるのと「opera-stable」で入れるのとでバージョンが違う。(パッケージのバージョンとか見たい人は「apt-cache show パッケージ名」とかやると見れる)どう見ても「opera-stable」の方が新しそうなので、今回は「opera-stable」をインストール。
# apt-get install opera-stable
ブラウザ(Vivaldi)
おいおい、どんだけブラウザ入れるんだよ、という声が聞こえてきそうですが、どちらかというとこれが本命です。現在Chromeを使ってますが、重すぎるので乗り換え候補としてVivaldiを考えてます。まだBeta3でリリースされてない状態ですが、そろそろリリースも近そうなので慣れの為に今のうちから触っておく。PPAは無いので以下からブラウザ経由でインストール。
バージョン管理
Git
何はともあれgitをインストールしておく。
# apt-get install git
mercurial
bitbucketを使ってるので、mercurialもインストールしておく。
# apt-get install mercurial
データベース
MySQL
開発環境だしね。DB関連もひと通り入れておく。まずはMySQLから。標準で入れると5.5系がインストールされる。
# apt-get install mysql-server
PostgreSQL
Postgresも入れておく。標準は9.3系が入る。ついでにpgadmin3も入れておく。
# apt-get install postgresql postgresql-contrib libpq-dev pgadmin3
SQLite3
入っているとなにかと使えるのでsqlite3も入れておく。
# apt-get install sqlite3
言語
OracleJDK
Javaで開発する訳じゃないんだけども、いろいろと必要なのでインストールしておく。
最初に、インストールされているjdk(openjdk)をアンインストールしておく。
# apt-get purge opennjdk-*
# add-apt-repository ppa:webupd8team/java # apt-get update # apt-get install oracle-java8-installer # apt-get install oracle-java8-set-default
インストールが終わったら再起動する。環境変数を吐き出させてJAVA_HOME等のjava関連の環境変数が設定されていることを確認する。
$ env
Node.js
js嫌いなので開発する気はないんだけど、やっぱ開発環境だしgulp使いたいしね。とりあえずNode.jsも入れておく。PPAから。
# add-apt-repository ppa:chris-lea/node.js # apt-get update # apt-get install nodejs
PHP
最近はPythonとRubyばっか触ってるので、ほぼ触ることの無くなったPHPだけども、やっぱ無きゃ無いで困る。おそらく開発はしないだろうけど動かせるようにしとく。
DB周りは既にインストールしたけども、まだApacheが無いのでついでに入れておく。
# apt-get install apache2 php5 php5-cli php5-mysql php5-pgsql php5-sqlite
Python
開発環境だしpyenvとか入れたいとこだけども、Macで開発してubuntuで動かすならともかく、ubuntuで動かす物をubuntuで開発するので必要かなー?って感じでもある。まぁ環境切り分けるのは必須ではあるんだけどさ。とりあえずpipだけ入れとく。
# apt-get install python-pip python3-pip
Ruby
これもPythonと同じくrbenv必要か?と思うんだよね。まぁとりあえずpythonと違って標準ではインストールされていないのでインストールしてしまう。今回、サーバ環境が2.3なので2.3をPPAからインストール。やり方は以下参照。
Ruby 2.3 Ubuntu packages - Brightbox
# apt-add-repository ppa:brightbox/ruby-ng # apt-get update # apt-get install ruby2.3 ruby2.3-dev
bundlerも入れておく。
# gem update --system # gem install bundler
開発環境(Eclipse)
やっとここまで辿り着いた・・・。ここから開発環境を整えていく。開発を想定している言語はRuby、Python、PHPと言ったところ。基本的にはエディタで開発しているんだけども、せっかくなのでIDEも入れたいと思う。
Eclipse本体
重くて大嫌いなIDEです。でもNetbeansがどんどんスクリプト言語を切り捨ててしまったので、現状、フリーでマルチプラットフォームのIDEはEclipseだけになってしまった。IntelliJもスクリプト言語はドル箱らしく、コミュニティ版ではプラグインを出してくれないので乗り換える事に躊躇してしまう。野良プラグインとかあればいいのにな。
そんな訳で、MintにEclipseを入れようと思います。最新ということで4.5のMarsを入れます。
- 上記サイトからダウンロード
- ダウンロードしたインストーラを起動してPHP版を$HOME/eclipseにインストール。
- Pleiadesの最新版をダウンロードし展開。
- Pleiadesの中にあるreadme通りに、ECLIPSE_HOMEへ「plugins」と「features」ディレクトリをコピー
- eclipse.iniを編集し、Pleiadesを読み込むようにする(readme参照)。
- eclipse.iniの中にある「MaxPermSize」を「MaxMetaspaceSize」に変更(※java8の場合のみ。2箇所)
- -cleanオプションを付けてeclipse起動
Eclipseの見た目改善
普段、AtomとかSublimeTextとか使ってるし、やっぱ白いのは馴染めない。黒っぽくする。やり方は以下参照。
http://qiita.com/shaunkawano/items/e0a7672dc82db9a4c9c3qiita.com
次にフォントを変える。Rictyを使用する。
- 「ウィンドウ>設定」から「一般>外観>色とフォント」を選択
- 「基本」の中にある、フォント設定箇所をRictyに変更する。
- 右下の「適用」をクリック
これからいろんなプラグイン等で設定項目は増えていくけども、フォントのデフォルト値は上記項目なので、ここを設定しておけば大丈夫(多分)
RDT(Ruby開発環境)
いつもどおりのやり方。
- 「ヘルプ>Install New Software」を選択
- 作業対象から「全ての使用可能なサイト」を選択して数分待つ
- ずらーっと出てきたら、検索窓に「ruby」を入力してEnter
- 「動的言語ツールキット - Ruby 開発ツール」が出てくるので選択し「次へ」をクリック。そのままインストールして再起動になる。
- Eclipseが再起動したら「ウィンドウ>設定」を開く。
- 「Ruby>インタープリター」を選択。「検索」をクリックする。インタプリタを自動検出してくれる。
- 今回はシステムにインストールしている物だけなので「/usr/bin/ruby」だけ表示されてるはず。rbenvを使ってる場合はここで「$HOME/.rbenv/shims/ruby」とか追加すればいいと思う。
今回は旧来のやり方で上記の方法で入れたんだけども、上記をやった後で「Eclipseマーケットプレイス」でrubyを検索したら、「Ruby(DLTK) 5.0 Kepler」がインストール済みになってたので、同じものが入るっぽい。もしかしたらEclipseマーケットプレイスで入れたほうが楽かもしれない。上記の方法は検索するのに時間かかるしね。
PyDev(Python開発環境)
- 「ヘルプ>Eclipseマーケットプレイス」を選択
- 検索窓に「python」と入力してEnter
- 「PyDev - Python IDE for Eclipse 4.5.4」が出てくるのでインストールして再起動
- 「ウィンドウ>設定」を開く
- 「PyDev>インタープリター>Python interpreter」を選択。
- 「Advanced Auto-Config」をクリックすると、システムからPythonを検出してくる。とりあえず「/usr/bin/python2」を選択して「OK」をクリック
- ライブラリを検出してくる。「すべて選択」をクリックして「OK」クリック
- 「python」という名前で追加された。Wクリックして名前を「python2」に変更する
- 上記6〜8を「/usr/bin/python3」で行う。名前は「python3」に変更する
- 上記6〜8を「/usr/bin/python」で行う。名前は「python」のままにする
- 3種類のpythonインタプリタが登録出来たと思う。基本的にpythonとpython2は同じだが、システム側に準拠してこういう形にしてみた。
- 3種類のpythonのうち、自分で開発するものに合わせて開発頻度が高いのを上に持っていく。私の場合はPython3がメインなので「python3>python>python2」の順番に並び替えた。
- 「適用」をクリック
こんな感じかな?Python開発でEclipse使った事ってPython2の頃だったし、インタプリタのところとかこんな複数やったことないから半分憶測でやってる。新規プロジェクトを作るときにインタプリタ選択ができるはずで、そこの表示順が変わったりする程度なので順番とかは適当でいいかも。ただ、python2とpython3は明示的に判りやすくしといた方がいいと思う。
Emmet(HTML開発環境)
HTMLなんかはIDEで開発するメリットがほとんど無いので実際にEclipseでHTML開発することはないだろうけど、それでもHTMLファイル編集するときに便利な方が嬉しい。なのでEmmetも入れておく。Eclipseマーケットプレイスから入れる。
- 「ヘルプ>Eclipseマーケットプレイス」を選択
- 検索窓に「emmet」と入力してEnter
- 「Emmet (ex-Zen Coding) Eclipse plugin 1.0.0」が出てくるのでインストールして再起動
開発環境(Atom)
こっちがメイン環境。SublimeTextだと日本語入力に難があったりするので、LinuxでエディタだとAtomが無難。
Atom本体
PPAからインストールできる。
# add-apt-repository ppa:webupd8team/atom # apt-get update # apt-get install atom
Atom見た目改善
まず最初にフォントをRictyに変える。
- 「Edit>Preferences」を選択。Settingsが開く
- 「Editor Settings」までスクロールして、「Font Family」のテキストボックスに「"Ricty"」もしくは「"Ricty Discord"」を入力。合ってれば即時反映する。
次にメニューの日本語化
- 「Edit>Preferences」を選択。Settingsが開く。左側メニューより「Install」を選択
- 検索窓に「japanese-menu」を入力。japanese-menuをインストールする。インストールが終わると即時反映されて日本語メニューになる。
見た目の好みは人それぞれだけど、私はオーソドックスにOneDark+monokaiを使う
- 「Edit>Preferences」を選択。Settingsが開く。左側メニューより「Install」を選択
- 検索窓右のThemeボタンをクリックして検索窓に「monokai」を入力。monokaiをインストールする。
- 左側メニューの「Themes」を選択。コミュニティテーマにmonokaiが表示されてるのを確認後、「Syntax Theme」でmonokaiを選択
各開発環境で共通なもの
入れとくとちょっと幸せになれるものとか。入れ方は一緒。あんま入れると重いので程々にしないと・・・。
- minimap
- linter
- project-manager
- file-icons
- color-picker
- pigments
- minimap-pigments
- minimap-find-and-replace
- minimap-linter
PHP開発環境
基本的なのは最初から入ってるので言語特有ってのはあんまないかも。
Ruby開発環境
PHPと一緒。
Python開発環境
PHPと一緒だが、linterはうまく動かない(pipでインストールするときにエラー出る)
- autocomplete-python
- linter-pylint
HTML開発環境
HTMLはちょくちょく弄るだろうし必須だが、autocompleteは標準で入ってるので特別入れる必要は無いかも。emmet記法使いたい人は入れればいい。
- emmet
開発環境としてはこんなところだろうか。あとは細かいカスタマイズとかはあるんだけども、そこは個人的な好みだったりもするし、ブログで書くことでもないかな。
メインの開発環境はあくまでもAtomで、Eclipseは今回おまけで入れたんだけども、昔使ってた頃よりも気持ち軽い気がする。大規模開発とかだったらEclipse使うのもいいかもしれない。