インストール - Mono(SUSE)
概要
ここでは、MonoDevelop IDEをインストールして開始する方法を記載する。
また、MonoDevelopを使用すると、Linux、Windows、Mac OS XでデスクトップおよびWebアプリケーションを作成できる。
さらに、MonoDevelopにより、開発者はVisual Studioで作成された.NETアプリケーションをLinuxおよびMac OS Xに簡単に移植でき、
全てのプラットフォームで単一のコードベースを維持できる。
Mono Completeのインストール
パッケージ管理システムからインストール
sudo zypper install mono-complete mono-addins-msbuild patterns-devel-mono-devel_mono # Monoに関連する全てのパッケージをインストールする場合
リポジトリを追加してインストール
SUSEソフトウェアセンターからMono Completeのリポジトリを追加して、インストールする。
ただし、これは有志が作成しているリポジトリのため、自己責任であることに注意する。
※注意
SUSEの公式リポジトリを追加して、より新しいMono Completeをインストールすることもできる。
ただし、現在 (2024/01) は、最新のSUSE向けのパッケージが削除されていることに注意する。
# SLE 15 SP1のみ sudo zypper ar -cfp 90 https://download.opensuse.org/repositories/Mono/SLE_15_SP1/ Mono
ソースコードからインストール
Monoの公式Webサイトに記載されている方法で、ソースコードからコンパイルしてインストールする。
まず、Monoのビルドに必要なライブラリをインストールする。
sudo zypper install git autoconf libtool automake gettext cmake python3 curl
次に、Monoの公式Webサイトからソースコードをダウンロードして解凍する。
tar xf mono-<バージョン名>.tar.xz
git clone
コマンドを実行して、Monoのソースコードをダウンロードすることもできる。
git clone --recursive https://github.com/mono/mono.git cd mono git submodule update --init --recursive
Monoをビルドおよびインストールする。
この時、ビルドディレクトリは作成しないこと。(ビルドディレクトリを作成してビルドする場合、configure
スクリプトでエラーが出力される)
cd mono-<バージョン名> # Tarballの場合 ./configure --prefix=<Monoのインストールディレクトリ> \ --with-profile4=yes \ --with-core \ # .NET Coreを有効にする場合 --with-x # X11を使用する場合 # Gitからソースコードをダウンロードした場合 ./autogen.sh --prefix=<Monoのインストールディレクトリ> \ --with-profile4=yes \ --with-core \ # .NET Coreを有効にする場合 --with-x # X11を使用する場合 make -j $(nproc) make install
ビルドの詳細を知りたい場合は、Monoの公式Webサイトを参照すること。
※注意
Gitからソースコードをダウンロードしてコンパイルする場合、C#コンパイラが必要なため、既にMonoがインストールされている必要がある。
パッケージ管理システムでMonoをインストールした後、GitからMonoのソースコードをダウンロードしてコンパイルする。
ビルドテスト
ビルドテストを行う場合、make -j $(nproc) check
コマンドを実行する。
また、Mono-test-installスクリプトファイルを実行して、Monoのインストールに関連する問題を診断することもできる。
scripts/mono-test-install
上記のコマンドを実行した時、以下に示すようなエラーが出力される場合がある。
Your system has a broken System.Drawing setup
この時、libgdiplusパッケージをインストールする。
sudo zypper install libgdiplus0 libgdiplus-devel
<onoがSystem.Drawingが壊れていると結論づけた原因となったエラーメッセージを見るために、このプロセスを手動で行うことができる。
// <C#のソースコードファイル名>.cs
using System;
using System.Drawing;
class X {
static void Main ()
{
Bitmap b = new Bitmap (100, 100);
}
}
# ビルド mcs -pkg:dotnet <C#のソースコードファイル名>.cs # 実行 mono <C#の実行ファイル名>.exe
Mono Developのインストール
パッケージ管理システムからインストール
現在 (2024/01現在) 、SUSEではパッケージ管理システムからMono Developが削除されている。
リポジトリを追加してインストール
現在 (2024/01現在) 、SUSEソフトウェアセンターではopenSUSE TWのみMono Developのリポジトリが存在する。
ソースコードからインストール
Mono Developは、2019年に開発が止まっている。
Mono Developの公式Webサイトにアクセスして、ソースコードをダウンロードする。
ダウンロードしたファイルを解凍する。
tar xf monodevelop-<バージョン>.tar.bz2
また、Mono DevelopのGithubからソースコードをダウンロードすることもできる。
Githubからソースコードをダウンロードした場合は、リポジトリに含まれるサブモジュールを初期化する必要がある。
(Mono Developのリポジトリは、2021年10月5日にアーカイブされており、現在は読み取り専用となっている)
git clone https://github.com/mono/monodevelop.git cd monodevelop git submodule update --init --recursive
Mono Developをビルドおよびインストールする。
mkdir monobuild && cd monobuild ../configure --prefix=<Mono Developのインストールディレクトリ> --enable-gnomeplatform # DEがGNOMEの場合 --enable-git # Gitを有効にする場合 make -j $(nproc) make install
Mono Developのデスクトップエントリファイルを作成する。
vi ~/.local/share/applications/MonoDevelop.desktop
# ~/.local/share/applications/MonoDevelop.desktopファイル
[Desktop Entry]
Version=1.0
Encoding=UTF-8
Type=Application
Name=MonoDevelop
GenericName=Integrated Development Environment
GenericName[ja]=統合開発環境
Comment=Develop .NET applications in an Integrated Development Environment
Comment[ja]=.NETアプリケーション開発を行うための統合開発環境
TryExec=/<Mono Developのインストールディレクトリ>/bin/monodevelop
Exec=/<Mono Developのインストールディレクトリ>/bin/monodevelop %F
Icon=monodevelop
Categories=GNOME;GTK;Development;IDE;
MimeType=text/x-csharp;application/x-mds;application/x-mdp;application/x-cmbx;application/x-prjx;application/x-csproj;application/x-vbproj;application/x-sln;application/x-aspx;
StartupNotify=true
Terminal=false
X-GNOME-Bugzilla-Bugzilla=Ximian
X-GNOME-Bugzilla-Product=MonoDevelop
X-GNOME-Bugzilla-OtherBinaries=monodevelop
Monoコマンド
実行ファイルのコンパイル
mcs -pkg:dotnet <C#のソースファイル名>.cs # デバッグ情報を付加する場合 mcs -pkg:dotnet -debug+ <C#のソースファイル名>.cs
ライブラリのコンパイル
mcs -pkg:dotnet -target:library <C#のソースファイル名>.cs # デバッグ情報を付加する場合 mcs -pkg:dotnet -target:library -debug+ <C#のソースファイル名>.cs
エラー
Riderとの連携
Riderを使用する場合、Monoの環境を取得できない不具合が存在する。
この時、~/.profileファイル等に、環境変数FrameworkPathOverride
を設定する必要がある。
export FrameworkPathOverride="/usr/lib/mono/<Monoのバージョン 例: 4.5>"