「CentOS 7にMonoDevelopをインストールする」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
imported>Administrator
 
(5人の利用者による、間の10版が非表示)
7行目: 7行目:
 
=== Monoのリポジトリを追加する ===
 
=== Monoのリポジトリを追加する ===
 
この手順は公式サイトにある通りである<ref>http://www.mono-project.com/docs/getting-started/install/linux/#centos-7-fedora-19-and-derivatives</ref>。
 
この手順は公式サイトにある通りである<ref>http://www.mono-project.com/docs/getting-started/install/linux/#centos-7-fedora-19-and-derivatives</ref>。
 +
 +
準備
 
  yum install yum-utils
 
  yum install yum-utils
 +
 +
プロキシ不要な場合。
 
  rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"
 
  rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"
 +
プロキシが必要な場合。yumは/etc/yum.confでプロキシ設定するがrpmは別途コマンドラインで指定する必要がある。
 +
rpm --httpproxy x.x.x.x --httpport xxxx --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"
 +
 +
リポジトリ追加
 
  yum-config-manager --add-repo http://download.mono-project.com/repo/centos/
 
  yum-config-manager --add-repo http://download.mono-project.com/repo/centos/
  
 
=== EPELのリポジトリを追加する ===
 
=== EPELのリポジトリを追加する ===
GTK#などのMono公式ライブラリはなぜか[[EPEL]]にある。
+
GTK#やGNOME#などのMono公式ライブラリはなぜか[[EPEL]]にある。
 
これに気がつくのに小一時間ほど悩んだ。
 
これに気がつくのに小一時間ほど悩んだ。
 
  yum install epel-release
 
  yum install epel-release
  
=== 依存パッケージを削除する ===
+
同じく[[NuGet]]もEPELにある。パッケージ復元なんかで必要になる。
freeipa系とipa系でぶつかる。
+
  yum install nuget
  yum remove ipa-client ipa-client-common freeipa-common
 
  
 
=== mono関連をぶち込む ===
 
=== mono関連をぶち込む ===
 
mono本体などのコマンドラインツール群を入れる。
 
mono本体などのコマンドラインツール群を入れる。
  yum -y install mono-complete
+
  yum install mono-complete
  
 
=== MonoDevelopをぶち込む ===
 
=== MonoDevelopをぶち込む ===
 
前述のEPELのリポジトリを追加していないとここで[[エラー]]になる。
 
前述のEPELのリポジトリを追加していないとここで[[エラー]]になる。
  yum install monodevelop monodevelop-database
+
  yum install monodevelop
 +
 
 +
=== MonoDevelopの起動スクリプトを書き換える ===
 +
GNOMEを使っている場合は「GNOME_DESKTOP_SESSION_ID」という環境変数が悪さをしてコンソールアプリのデバッグ実行が失敗する。
 +
「/usr/bin/monodevelop」はシェルスクリプトなので、2行目あたりに以下の一文を追加することで回避することができる。
 +
unset GNOME_DESKTOP_SESSION_ID
  
 
=== xtermをぶち込む ===
 
=== xtermをぶち込む ===
32行目: 44行目:
 
gnome-terminalにxtermという名前のシンボリックリンクを貼ってみたが動かない。引数に互換性がないようだ。
 
gnome-terminalにxtermという名前のシンボリックリンクを貼ってみたが動かない。引数に互換性がないようだ。
 
  yum install xterm
 
  yum install xterm
 +
 +
=== レジストリ保存ディレクトリを作る ===
 +
初期状態ではレジストリっぽいものを保存するディレクトリがないようだ。
 +
このディレクトリが存在しないとMonoDevelopでASP.NETプロジェクトなどをデバッグ実行した際にエラーになる。
 +
sudo mkdir /etc/mono/registry
 +
sudo chmod uog+rw /etc/mono/registry/
 +
 +
* [[Linux/MonoでASP.NETを動かす]]
  
 
== 関連項目 ==
 
== 関連項目 ==
 
* [[CentOS 7]]
 
* [[CentOS 7]]
 
* [[MonoDevelop]]
 
* [[MonoDevelop]]
 +
* [[CentOS 7/MonoDevelopをインストールする]]
 +
* [[CentOS 7/Oracle JDKをインストールする]]
 +
* [[CentOS 7/PostgreSQLをインストールする]]
  
 
== 参考文献 ==
 
== 参考文献 ==

2019年9月27日 (金) 06:01時点における最新版

CentOS 7MonoDevelopをインストールする手順を忘れないようにメモしておく。 CentOSを含むRHEL系とMonoの組み合わせはUbuntuSuSEのように一発ではいかない苦難の道である。 しかしサーバーの世界ではRHELは避けては通れないという。 難しい問題だ。

手順[編集 | ソースを編集]

Monoのリポジトリを追加する[編集 | ソースを編集]

この手順は公式サイトにある通りである[1]

準備

yum install yum-utils

プロキシ不要な場合。

rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"

プロキシが必要な場合。yumは/etc/yum.confでプロキシ設定するがrpmは別途コマンドラインで指定する必要がある。

rpm --httpproxy x.x.x.x --httpport xxxx --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"

リポジトリ追加

yum-config-manager --add-repo http://download.mono-project.com/repo/centos/

EPELのリポジトリを追加する[編集 | ソースを編集]

GTK#やGNOME#などのMono公式ライブラリはなぜかEPELにある。 これに気がつくのに小一時間ほど悩んだ。

yum install epel-release

同じくNuGetもEPELにある。パッケージ復元なんかで必要になる。

yum install nuget

mono関連をぶち込む[編集 | ソースを編集]

mono本体などのコマンドラインツール群を入れる。

yum install mono-complete

MonoDevelopをぶち込む[編集 | ソースを編集]

前述のEPELのリポジトリを追加していないとここでエラーになる。

yum install monodevelop

MonoDevelopの起動スクリプトを書き換える[編集 | ソースを編集]

GNOMEを使っている場合は「GNOME_DESKTOP_SESSION_ID」という環境変数が悪さをしてコンソールアプリのデバッグ実行が失敗する。 「/usr/bin/monodevelop」はシェルスクリプトなので、2行目あたりに以下の一文を追加することで回避することができる。

unset GNOME_DESKTOP_SESSION_ID

xtermをぶち込む[編集 | ソースを編集]

xtermはMonoDevelopでコンソールアプリをデバッグ実行する際に必要となる。 gnome-terminalにxtermという名前のシンボリックリンクを貼ってみたが動かない。引数に互換性がないようだ。

yum install xterm

レジストリ保存ディレクトリを作る[編集 | ソースを編集]

初期状態ではレジストリっぽいものを保存するディレクトリがないようだ。 このディレクトリが存在しないとMonoDevelopでASP.NETプロジェクトなどをデバッグ実行した際にエラーになる。

sudo mkdir /etc/mono/registry
sudo chmod uog+rw /etc/mono/registry/

関連項目[編集 | ソースを編集]

参考文献[編集 | ソースを編集]