MacのターミナルでC#のコンパイル・実行を行う方法のまとめ。
(HelloWorldを行いました)
0. 前提
「HomebrewなどでMonoをインストールしてある」 or 「Unityをインストールしてある」
とりあえずMonoが入ってれば大丈夫かと。
1. 適当なディレクトリで test.cs を作成
// test.cs using System; class test { public static void Main(string[] args) { Console.WriteLine("Hello, world!"); } }
2. mcs というC#コンパイラで test.cs をコンパイル
$ mcs test.cs
もし mcs が not found と言われる場合は、パスがちゃんと通ってない可能性がある。(かくいう自分もそうでした)今回はこのページを参考にしました。Unity経由でMonoを入れた人はUnity.appの中にmcsがあるっぽいので、そこまでのパスを通してあげれば大丈夫。
たぶんmcsは /Applications/Unity/Unity.app/Contents/Frameworks/MonoBleedingEdge/bin/ にあるので(ちゃんと自分でも確認してみてください)、
$ PATH=$PATH:/Applications/Unity/Unity.app/Contents/Frameworks/MonoBleedingEdge/bin/
上記をターミナルで入力すればパスが通って mcs が not found ではなくなると思います。
ちなみに上記コマンドはターミナルを再起動する度に入力をする必要があります。
そんなのめんどすぎて無理って人は、ルートディレクトリにある .bash_profile に下記のものを書き加えておくといいです。(#で始まってる一行はコメント文)
# 'mcs' path export PATH=$PATH:/Applications/Unity/Unity.app/Contents/Frameworks/MonoBleedingEdge/bin/
書き加えたら、その変更を適用するためにターミナルを再起動してください。改めてパスを通さなくても大丈夫になってるはずです。
3. monoでtest.exeを実行
手順2がうまくいけば test.exe が生成されてるはず。
$ mono test.exe
これで実行できます。
Hello, world! と表示されれば成功。
お疲れ様でした。