CentOS 7にMonoDevelopをインストールする
2017年3月27日 (月) 01:30時点における103.22.200.102 (トーク)による版
CentOS 7にMonoDevelopをインストールする手順を忘れないようにメモしておく。 CentOSを含むRHEL系とMonoの組み合わせはUbuntuやSuSEのように一発ではいかない苦難の道である。 しかしサーバーの世界ではRHELは避けては通れないという。 難しい問題だ。
目次
手順
Monoのリポジトリを追加する
この手順は公式サイトにある通りである[1]。
yum install yum-utils rpm --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/
その他: 依存パッケージを削除する
稀にfreeipa系とipa系のパッケージがぶつかることがあるようだ。
yum remove ipa-client ipa-client-common freeipa-common