Cygwin環境作成、その5(javac、文字化け対策にcocot、rubyとrails)
ではこつこつ続けていきます。
javac
これはCygwinだから特別になにかするというわけではありません。PleiadesというEclipse日本語化版みたいなものを使えば良いのです。
Pleiades
PleiadesはEclipse日本語化版プロジェクトの総称です。日本語化してるだけでなくあれこれとプラグインを追加してくれてます。便利なことにJREとJDKも入っています。管理者権限がない人(例えば僕とか)にとってこれはとても便利。
インストールも簡単。Pleiades配布サイトにいって、最新版のUltimateのFull Editionのzipをダウンロード→どこかに展開するだけです。JDKポータブルインストールに比べ手間いらずです。
版はPlatform、Ultimate、Javaその他あるけど、容量が許すのであればUltimateがオススメ。Java、C/C++、PHP、Pythonに始めから対応し、Marketplaceも入ってます。Platformで最低限動くようにして必要な分だけプラグインを追加していけば容量は稼げるけど、いまどき1.5G程度でカツカツということは無いのでは。それよりも時間が大切です。
javacをCygwinから使えるようにする手順
正しい流儀かわかりませんが、以下のようにしました。
1. Pleiades 4.6(Neon)のUltimate Full EditionをC:\apps\pleiades
に展開
2. c:\apps\pleiades\java\8
のシンボリックリンクをCygwinの/usr/local/lib/java
に貼る
3. /etc/profile.d/java.shにて/usr/local/lib
をJAVA_HOMEに設定
4. 同様に${JAVA_HOME}/bin
をPATHに追加
5. .bash_profileから/etc/profile.d/java.shを呼ぶ
6. javacが呼べるか試す
# シンボリックリンクを貼る
$ mkdir -p /usr/local/lib # /usr/local/libをまだ作ってない場合
$ ln -s /c/apps/pleiades/java/8 /usr/local/lib
# JAVA_HOMEとPATHの設定をjava.shに記述
cat <<EOL >> /etc/profile.d/java.sh
#!/usr/bin/env bash
export JAVA_HOME=/usr/local/lib/java
export PATH=\${PATH}:\${JAVA_HOME}/bin
EOL
# 実行権限追加
chmod a+x /etc/profile.d/java.sh
# .bash_profileから上記java.shを呼ぶ
cat <<EOL >> ~/.bash_profile
source /etc/profile.d/java.sh
EOL
# 設定反映
source ~/.bash_profile
ではjavacを試してみましょう。
$ javac
gp@: javac <options> <source files>
gp\ȃIvVɂ͎̂B
-g ׂẴfobO
-g:none fobOȂ
-g:{lines,vars,source} ̃fobÔ݂
-nowarn xȂ
-verbose RpC̓ăbZ[W͂
あれあれ、化け化けですね。これはjavacの出力がCP932に対して、cygwinがUnicode表示しようとしているからです。cocotという便利な文字コード変換ツールがあるのでそれを通して実行するようにしましょう。
cocot
cocotはCygwin標準ではなく、ソースコードからビルドしないと使えません。敷居が高いように思えますが、幾つか必須パッケージをダウンロードした後、git cloneして、bashスクリプトを実行するだけです。
参考:転職先でWindowsしか支給されなかったのでCygwinでLinux化してみた - Qiita
以下手順。
# 必須パッケージをapt-cygでインストール
$ apt-cyg install libiconv libiconv-devel
# cocotのソースをgit cloneする
$ git clone http://github.com/vmi/cocot
# ディレクトリに入ってビルド、インストール
$ cd cocot
$ ./cygwin-build.sh
$ ./cygwin-install.sh
# 動作チェック
$ cocot
Usage: cocot [OPTIONS] [--] COMMAND ARG1 ARG2 ...
Options:
-o LOGFILE logging all output of command.
-a append log file.
-t TERM_CODE
(略)
良さそうなのでjavacをcocotから呼び出します。
$ cocot javac
使用方法: javac <options> <source files>
使用可能なオプションには次のものがあります。
-g すべてのデバッグ情報を生成する
-g:none デバッグ情報を生成しない
-g:{lines,vars,source} いくつかのデバッグ情報のみを生成する
-nowarn 警告を発生させない
動いてます。都度cocot入れるのは面倒なのでalias javac="cocot javac"
としておくと楽です。
RubyとRails
Railsの勉強を始めたので入れてみます。Rubyはapt-cygで簡単インストールなのですが、RailsはGemで入れるとハマります。nokogiriなるものを動かすプラットフォーム上でビルドする必要があるんですがこれが大変。「cygwin nokogiri」で検索すると山ほど出てきます。2年ほど前msys2を使ってたときになんらかの方法でnokogiriをビルドできた記憶もあるんですが、さっぱり覚えてないです。
手順と言うほどのものでもないので、そのまま。
# apt-cygでRubyを入れる
$ apt-cyg install ruby
$ ruby -v
ruby 2.2.5p319 (2016-04-26 revision 54774) [x86_64-cygwin]
# Gem自体のアップデート
$ gem update --system
$ gem --version
2.6.9
# apt-cygでRailsを入れる。4系だが目をつぶる。
$ apt-cyg install ruby-rails
$ rails --version
Rails 4.2.5.2
今後の予定
- じつはtmux、vimの設定もやったのでそれを書く
- sbtも入れたのでそれも書く
- Cygwinの環境、ついついあれこれ入れすぎてしまう→いつでも前の状態に戻せる方法ってないものか。ファイルが大量だけどbitbucketなどでバージョン管理でしょうか?
Author And Source
この問題について(Cygwin環境作成、その5(javac、文字化け対策にcocot、rubyとrails)), 我々は、より多くの情報をここで見つけました https://qiita.com/lranran/items/0b8ffa9a250c76605eff著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .