CentOS 7にMonoDevelopをインストールする
2017年12月14日 (木) 08:40時点におけるimported>Administratorによる版
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は/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-database
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/
関連項目
- CentOS 7
- MonoDevelop
- CentOS 7/MonoDevelopをインストールする
- CentOS 7/Oracle JDKをインストールする
- CentOS 7/PostgreSQLをインストールする