「インストール - Mono(SUSE)」の版間の差分

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動
 
(同じ利用者による、間の24版が非表示)
7行目: 7行目:


== Mono Completeのインストール ==
== Mono Completeのインストール ==
==== 1クリックインストール ====
==== パッケージ管理システムからインストール ====
[https://software.opensuse.org/download/package?package=mono-complete&project=openSUSE%3ALeap%3A15.1 こちらのWebサイト]からMono Completeをインストールする。<br>
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>
<br>
<br>
まず、Monoの依存関係のライブラリをインストールする。<br>
まず、Monoのビルドに必要なライブラリをインストールする。<br>
  sudo zypper install git autoconf libtool automake build-essential gettext cmake python3 curl
  sudo zypper install git autoconf libtool automake gettext cmake python3 curl
<br>
<br>
次に、[https://download.mono-project.com/sources/mono/ Monoの公式Webサイト]からソースコードをダウンロードして解凍する。<br>
次に、[https://download.mono-project.com/sources/mono/ Monoの公式Webサイト]からソースコードをダウンロードして解凍する。<br>
   tar xvf mono-<バージョン名>.tar.xz
   tar xf mono-<バージョン名>.tar.xz
<br>
<br>
Monoのソースコードをコンパイルしてインストールする。<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>
  cd mono-<バージョン名>
  cd mono-<バージョン名>
   
   
  ./configure --prefix=/home/ユーザ名/InstallSoftware/Mono/Mono-<バージョン名>
# Tarballの場合
  または
  ./configure --prefix=<Monoのインストールディレクトリ> \
  ./autogen.sh --prefix=/home/ユーザ名/InstallSoftware/Mono/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 8
  make -j $(nproc)
  make install
  make install
<br>
<br>
<u>※注意 1</u><br>
ビルドの詳細を知りたい場合は、[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>パッケージ管理システムでMonoをインストールした後、以下のコマンドを実行する。</u><br>
<u>パッケージ管理システムでMonoをインストールした後、GitからMonoのソースコードをダウンロードしてコンパイルする。</u><br>
  git clone https://github.com/mono/mono.git
<br>
  cd mono
 
==== ビルドテスト ====
ビルドテストを行う場合、<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>
# ビルド
mcs -pkg:dotnet <C#のソースコードファイル名>.cs
# 実行
mono <C#の実行ファイル名>.exe
<br><br>
 
== Mono Developのインストール ==
==== パッケージ管理システムからインストール ====
現在 (2024/01現在) 、SUSEではパッケージ管理システムからMono Developが削除されている。<br>
<br>
==== リポジトリを追加してインストール ====
現在 (2024/01現在) 、SUSEソフトウェアセンターではopenSUSE TWのみMono Developのリポジトリが存在する。<br>
<br>
 
==== ソースコードからインストール ====
Mono Developは、2019年に開発が止まっている。<br>
<br>
[https://download.mono-project.com/sources/monodevelop/ Mono Developの公式Webサイト]にアクセスして、ソースコードをダウンロードする。<br>
ダウンロードしたファイルを解凍する。<br>
tar xf monodevelop-<バージョン>.tar.bz2
<br>
また、Mono DevelopのGithubからソースコードをダウンロードすることもできる。<br>
Githubからソースコードをダウンロードした場合は、リポジトリに含まれるサブモジュールを初期化する必要がある。<br>
(Mono Developのリポジトリは、2021年10月5日にアーカイブされており、現在は読み取り専用となっている)<br>
  git clone https://github.com/mono/monodevelop.git
  cd monodevelop
git submodule update --init --recursive
<br>
Mono Developをビルドおよびインストールする。<br>
mkdir monobuild && cd monobuild
   
   
  ./autogen.sh --prefix=/home/ユーザ名/InstallSoftware/Mono/Mono-<バージョン名>
  ../configure --prefix=<Mono Developのインストールディレクトリ>
  make
              --enable-gnomeplatform  # DEがGNOMEの場合
              --enable-git            # Gitを有効にする場合
  make -j $(nproc)
  make install
  make install
<br>
<br>
<u>※注意 2</u><br>
Mono Developのデスクトップエントリファイルを作成する。<br>
<u>公式リポジトリを追加して、より新しいMono Completeをインストールする方法もある。</u><br>
vi ~/.local/share/applications/MonoDevelop.desktop
<u>ただし、動作未検証のため注意すること。</u><br>
<br>
  sudo zypper ar -cfp 90 http://download.opensuse.org/repositories/Mono/openSUSE_Leap_15.2 Mono
<syntaxhighlight lang="ini">
# ~/.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
</syntaxhighlight>
<br><br>
<br><br>


== MonoDevelopのインストール ==
== Monoコマンド ==
ターミナルを起動して、MonoDevelopのリポジトリを有効にする。<br>
==== 実行ファイルのコンパイル ====
[https://software.opensuse.org/package/monodevelop こちらのWebサイト]からMonoDevelopのリポジトリを追加する。<br>
mcs -pkg:dotnet <C#のソースファイル名>.cs
# デバッグ情報を付加する場合
mcs -pkg:dotnet -debug+ <C#のソースファイル名>.cs
<br>
<br>
次に、以下のコマンドを実行して、MonoDevelopをインストールする。<br>
==== ライブラリのコンパイル ====
  sudo zypper in monodevelop
mcs -pkg:dotnet -target:library <C#のソースファイル名>.cs
# デバッグ情報を付加する場合
  mcs -pkg:dotnet -target:library -debug+ <C#のソースファイル名>.cs
<br><br>
<br><br>


== MonoDevelopの起動 ==
== エラー ==
デスクトップランチャーから、MonoDevelopを起動する。
==== Riderとの連携 ====
<u>Riderを使用する場合、Monoの環境を取得できない不具合が存在する。</u><br>
この時、~/.profileファイル等に、環境変数<code>FrameworkPathOverride</code>を設定する必要がある。<br>
<syntaxhighlight lang="sh">
export FrameworkPathOverride="/usr/lib/mono/<Monoのバージョン  例: 4.5>"
</syntaxhighlight>
<br><br>


または、ターミナルを起動して、以下のコマンドを実行する。<br>
monodevelop
<br><br>


__FORCETOC__
__FORCETOC__
[[カテゴリ:SUSE]]
[[カテゴリ:SUSE]]

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>"