「インストール - Mono(SUSE)」の版間の差分
(同じ利用者による、間の17版が非表示) | |||
7行目: | 7行目: | ||
== Mono Completeのインストール == | == Mono Completeのインストール == | ||
==== | ==== パッケージ管理システムからインストール ==== | ||
sudo zypper install mono-complete mono-addins-msbuild | |||
patterns-devel-mono-devel_mono # Monoに関連する全てのパッケージをインストールする場合 | |||
<br> | <br> | ||
==== リポジトリを追加してインストール ==== | |||
[https://software.opensuse.org/package/mono-complete SUSEソフトウェアセンター]からMono Completeのリポジトリを追加して、インストールする。<br> | |||
ただし、これは有志が作成しているリポジトリのため、自己責任であることに注意する。<br> | |||
<br> | |||
<br> | |||
<u>※注意</u><br> | |||
<u>[https://download.opensuse.org/repositories/ SUSEの公式リポジトリ]を追加して、より新しいMono Completeをインストールすることもできる。</u><br> | |||
<u>ただし、現在 (2024/01) は、最新のSUSE向けのパッケージが削除されていることに注意する。</u><br> | |||
# SLE 15 SP1のみ | |||
sudo zypper ar -cfp 90 https://download.opensuse.org/repositories/Mono/SLE_15_SP1/ Mono | |||
<br> | |||
==== ソースコードからインストール ==== | ==== ソースコードからインストール ==== | ||
[https://www.mono-project.com/docs/compiling-mono/linux/ Monoの公式Webサイト]に記載されている方法で、ソースコードからコンパイルしてインストールする。<br> | [https://www.mono-project.com/docs/compiling-mono/linux/ Monoの公式Webサイト]に記載されている方法で、ソースコードからコンパイルしてインストールする。<br> | ||
19行目: | 32行目: | ||
tar xf mono-<バージョン名>.tar.xz | tar xf mono-<バージョン名>.tar.xz | ||
<br> | <br> | ||
<code>git clone</code>コマンドを実行して、Monoのソースコードをダウンロードすることもできる。<br> | |||
git clone --recursive https://github.com/mono/mono.git | |||
cd mono | |||
git submodule update --init --recursive | |||
<br> | |||
Monoをビルドおよびインストールする。<br> | |||
<u>この時、ビルドディレクトリは作成しないこと。(ビルドディレクトリを作成してビルドする場合、<code>configure</code>スクリプトでエラーが出力される)</u><br> | <u>この時、ビルドディレクトリは作成しないこと。(ビルドディレクトリを作成してビルドする場合、<code>configure</code>スクリプトでエラーが出力される)</u><br> | ||
cd mono-<バージョン名> | cd mono-<バージョン名> | ||
# Tarballの場合 | # Tarballの場合 | ||
./configure --prefix=<Monoのインストールディレクトリ> | ./configure --prefix=<Monoのインストールディレクトリ> \ | ||
--with-profile4=yes \ | |||
--with-core \ # .NET Coreを有効にする場合 | |||
--with-x # X11を使用する場合 | |||
# Gitからソースコードをダウンロードした場合 | # Gitからソースコードをダウンロードした場合 | ||
./autogen.sh --prefix=<Monoのインストールディレクトリ> | ./autogen.sh --prefix=<Monoのインストールディレクトリ> \ | ||
--with-profile4=yes \ | |||
--with-core \ # .NET Coreを有効にする場合 | |||
--with-x # X11を使用する場合 | |||
make -j $(nproc) | make -j $(nproc) | ||
make install | make install | ||
<br> | <br> | ||
<u>※注意 | ビルドの詳細を知りたい場合は、[https://www.mono-project.com/docs/ Monoの公式Webサイト]を参照すること。<br> | ||
<br> | |||
<u>※注意</u><br> | |||
<u>Gitからソースコードをダウンロードしてコンパイルする場合、C#コンパイラが必要なため、既にMonoがインストールされている必要がある。</u><br> | <u>Gitからソースコードをダウンロードしてコンパイルする場合、C#コンパイラが必要なため、既にMonoがインストールされている必要がある。</u><br> | ||
<u> | <u>パッケージ管理システムでMonoをインストールした後、GitからMonoのソースコードをダウンロードしてコンパイルする。</u><br> | ||
<br> | |||
==== ビルドテスト ==== | |||
ビルドテストを行う場合、<code>make -j $(nproc) check</code>コマンドを実行する。<br> | |||
また、Mono-test-installスクリプトファイルを実行して、Monoのインストールに関連する問題を診断することもできる。<br> | |||
scripts/mono-test-install | |||
<br> | |||
上記のコマンドを実行した時、以下に示すようなエラーが出力される場合がある。<br> | |||
Your system has a broken System.Drawing setup | |||
<br> | |||
この時、libgdiplusパッケージをインストールする。<br> | |||
sudo zypper install libgdiplus0 libgdiplus-devel | |||
<br> | |||
<onoがSystem.Drawingが壊れていると結論づけた原因となったエラーメッセージを見るために、このプロセスを手動で行うことができる。<br> | |||
<syntaxhighlight lang="c#"> | |||
// <C#のソースコードファイル名>.cs | |||
using System; | |||
using System.Drawing; | |||
class X { | |||
static void Main () | |||
{ | |||
Bitmap b = new Bitmap (100, 100); | |||
} | |||
} | |||
</syntaxhighlight> | |||
<br> | <br> | ||
# ビルド | |||
< | mcs -pkg:dotnet <C#のソースコードファイル名>.cs | ||
# | # 実行 | ||
mono <C#の実行ファイル名>.exe | |||
<br><br> | <br><br> | ||
56行目: | 103行目: | ||
現在 (2024/01現在) 、SUSEソフトウェアセンターではopenSUSE TWのみMono Developのリポジトリが存在する。<br> | 現在 (2024/01現在) 、SUSEソフトウェアセンターではopenSUSE TWのみMono Developのリポジトリが存在する。<br> | ||
<br> | <br> | ||
==== ソースコードからインストール ==== | ==== ソースコードからインストール ==== | ||
Mono Developは、2019年に開発が止まっている。<br> | Mono Developは、2019年に開発が止まっている。<br> | ||
80行目: | 122行目: | ||
../configure --prefix=<Mono Developのインストールディレクトリ> | ../configure --prefix=<Mono Developのインストールディレクトリ> | ||
--enable-gnomeplatform # DEがGNOMEの場合 | --enable-gnomeplatform # DEがGNOMEの場合 | ||
--enable-git # Gitを有効にする場合 | --enable-git # Gitを有効にする場合 | ||
111行目: | 152行目: | ||
X-GNOME-Bugzilla-Product=MonoDevelop | X-GNOME-Bugzilla-Product=MonoDevelop | ||
X-GNOME-Bugzilla-OtherBinaries=monodevelop | X-GNOME-Bugzilla-OtherBinaries=monodevelop | ||
</syntaxhighlight> | |||
<br><br> | |||
== Monoコマンド == | |||
==== 実行ファイルのコンパイル ==== | |||
mcs -pkg:dotnet <C#のソースファイル名>.cs | |||
# デバッグ情報を付加する場合 | |||
mcs -pkg:dotnet -debug+ <C#のソースファイル名>.cs | |||
<br> | |||
==== ライブラリのコンパイル ==== | |||
mcs -pkg:dotnet -target:library <C#のソースファイル名>.cs | |||
# デバッグ情報を付加する場合 | |||
mcs -pkg:dotnet -target:library -debug+ <C#のソースファイル名>.cs | |||
<br><br> | |||
== エラー == | |||
==== Riderとの連携 ==== | |||
<u>Riderを使用する場合、Monoの環境を取得できない不具合が存在する。</u><br> | |||
この時、~/.profileファイル等に、環境変数<code>FrameworkPathOverride</code>を設定する必要がある。<br> | |||
<syntaxhighlight lang="sh"> | |||
export FrameworkPathOverride="/usr/lib/mono/<Monoのバージョン 例: 4.5>" | |||
</syntaxhighlight> | </syntaxhighlight> | ||
<br><br> | <br><br> |
2024年2月26日 (月) 18:11時点における最新版
概要
ここでは、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>"