CentOS 7/MonoDevelopをインストールする

提供: MonoBook
移動: 案内検索

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

mono関連をぶち込む[編集]

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

yum -y install mono-complete

MonoDevelopをぶち込む[編集]

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

yum install monodevelop monodevelop-database

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

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

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/

関連項目[編集]

参考文献[編集]