Ubuntuで複数のF#のソースコードをビルドする方法。
今回はYeomonとxbuildを使った。
Yeomanのインストール
Ubuntuのnode.jsのバージョンを新しくする
Ubuntuのapt-getで入れられるバージョンが古いらしく、Yeomanのインストールでエラーが発生するので別の方法でインストールする。
やり方は下のページの"Debian and Ubuntu based Linux distributions"の通り。
Installing Node.js via package manager | Node.js
$ curl --silent --location https://deb.nodesource.com/setup_4.x | sudo bash -
$ sudo apt-get install --yes nodejs
$ nodejs -v
v4.1.1
YeomanとF#用ジェネレータのインストール
F#のプロジェクトファイルはYeomanのF#ジェネレータを使って生成する。
$ sudo npm install -g yo
$ sudo npm install -g generator-fsharp
xbuildのインストール
xbuildはMonoを使ったF#の開発環境を作ると一緒に入るのでそちらを参照してください。
VisualStudioCode - UbuntuとVisual Studio CodeでF#の開発環境の構築 + デバッグ方法 - Qiita
プロジェクトファイルの生成とビルド
Hello Worldをプロジェクトファイルを使って作ってみる。
プロジェクトを作成する
開発用のディレクトリにYeomanでプロジェクトを作成する。
$ cd ~/dev/
$ yo fsharp
いくつか質問されるので次の通りに選択・入力する。
What do You want to do? => Create standalone project
What type of application do you want to create? => Console Application
What's the name of your application? => HelloWorld
Do You want to use Paket? => No
"Your project is now created"と表示されて、次のディレクトリとファイルが生成されていればOK。
$ ls
HelloWorld
$ ls HelloWorld/
App.config HelloWorld.fs HelloWorld.fsproj
ソースコードを編集する
Visual Studio Codeなどのエディタで"HelloWorld.fs"を次のように変更する。
module HelloWorld
[<EntryPoint>]
let main argv =
printfn "Hello World"
0
ビルド
xbuildでプロジェクトのビルドをする。
$ cd HelloWorld/
# Debugビルド
$ xbuild /p:Configuration=Debug
# Releaseビルド
$ xbuild /p:Configuration=Release
デバッグ版とリリース版の実行ファイルがそれぞれ"bin/Debug"と"bin/Release"に生成されるので、monoコマンドで実行するとちゃんと実行される。
$ mono bin/Release/HelloWorld.exe
Hello World