初めに
最近, 個人的に色々な環境を試しています. 当方Windowsしか扱ったことが無いものの, Linuxを使用したいという憧れが強くなり, WSL2のUbuntu上でF#の環境を構築してみました.
なお, 今回は最近個人的に学習中のF#を使用しますが, .NETなのでほとんどそのままC#にも転用できます.
手順
- Ubuntuのバージョン確認
- .NET環境のインストール
- F#ソリューション作成
- ついでに個人的好みのコード
Ubuntuのバージョン確認
"/home/[user name]"にて, 以下のコマンドを入力
cat /etc/os-release
画像のVersionは22.04と確認できる.
.NET環境のインストール
Ubuntuのバージョンが分かったらMicrosoftの公式ページへGo.
Ubuntuディストリビューション, インストールしたい.NETのバージョンを選択する.
公式ページをもとに, 今回はUbuntu22.04, .NET9をインストールしていきます.
# .NETバックポートパッケージリポジトリを追加
sudo add-apt-repository ppa:dotnet/backports
# SDKインストール
sudo apt-get update sudo apt-get install -y dotnet-sdk-9.0
# ランタイムインストール(ASP.NET込み)
sudo apt-get update sudo apt-get install -y aspnetcore-runtime-9.0
# ASP.NETが不要なら以下でもOK
sudo apt-get install -y dotnet-runtime-9.0
F#ソリューション作成
今回は"fs-sandbox"という名前のディレクトリでソリューションを作成していきます.
dotnetというコマンドに関しては, 参考記事をご覧ください.
# fs-sandboxというディレクトリを作成, ディレクトリ移動
mkdir fs-sandbox
cd fs-sandbox
# ソリューションファイル作成
dotnet new sln
# F#で"Core"という名前でプロジェクト作成
# ※ C#で作りたい場合は以下のコマンドを"C#"に書き換えればOK
dotnet new console -lang "F#" -o Core
# ソリューションにプロジェクト追加
# ※ C#で作った場合は.fsproj->.csprojに変更すればOK
dotnet sln add Core/Core.fsproj
# ソリューションにプロジェクトが追加されたかチェック
dotnet sln fs-sandbox list
# ソリューションビルド
dotnet build fs-sandbox.sln
# プロジェクトを走らせる
dotnet run --project Core/Core.fsproj
ついでに個人的好みのコード
大体の場合は, コンソールプロジェクト生成時点で以下のようなコードが書いてある
// Program.fs
printfn "Hello from F#"
名前空間, モジュール名がない... ちょっと怖いので少しだけ追加
// Program.fs
namespace Core
module Program =
[<EntryPoint>]
let Main args =
printfn "Hello from F#"
0
- 名前空間はプロジェクト名と合わせる
- モジュール名はソースコードファイル名と合わせる
- メイン関数として, エントリポイントを付けておく
以上. 良き.NETライフを.
参考記事
- コマンド確認
- Microsoft公式ページその1. UbuntuへのSDK, ランタイムインストール
- Microsoft公式ページその2. dotnetのCLIコマンドについて