最終的にどうにもならないエラーは無視してゆきます。解決できていません。
エラーが出ていた箇所は、インストールする必要のないモジュールでした。とりあえず、事象を走り書きでメモします。
事象
AWSのEC2にDjango資産をデプロイしようとしてトラブりまくっています。
今回はpostgreSQLのインストールでどハマりました。
以前はうまくできていた事が、今回うまくできません。
(インスタンス立ち上げ2回目)
www.te-tou.tokyo
環境
- AWS(1年間の無料枠で作成)
- LINUX2
- EC2
- postgreSQL11
エラー内容
今回出てきたエラーは以下の通りです。
$ yum -y install postgresql11-devel;
とか
$ sudo yum -y install postgresql11-llvmjit;
のコマンドを打つと、下記のようなエラーが出力されます。
$ pgdg-redhat-repo-42.0-11.noarch は次の要求が不足ています: /etc/redhat-release
どうやら、依存関係のエラーらしいです。
epel導入
なので、epelってのを入れると良いみたいです。
$ sudo amazon-linux-extras install epel
これでもう一度
$ yum -y install postgresql11-devel;
やはりうまくいきません。
--skip-broken
なので、エラーを無視する「--skip-broken」オプションを試してみます。
$ sudo yum -y --skip-broken install postgresql11-devel;
そうすると、いろいろやった上でこんなメッセージが出力されました。
パッケージは依存関係に問題があるため、飛ばします: libedit-devel-3.0-12.20121213cvs.amzn2.0.2.x86_64 (amzn2-core から) libicu-devel-50.2-4.amzn2.x86_64 (amzn2-core から) llvm5.0-5.0.1-7.el7.x86_64 (epel から) llvm5.0-devel-5.0.1-7.el7.x86_64 (epel から) llvm5.0-libs-5.0.1-7.el7.x86_64 (epel から) ncurses-compat-libs-6.0-8.20170212.amzn2.1.3.x86_64 (amzn2-core から) postgresql11-devel-11.8-1PGDG.rhel7.x86_64 (pgdg11 から)
スキップされた部品をyum install
試しに、全てyum install してみます。
$ sudo yum install libedit-devel-3.0-12.20121213cvs.amzn2.0.2.x86_64 $ sudo yum install libicu-devel-50.2-4.amzn2.x86_64 $ sudo yum install llvm5.0-5.0.1-7.el7.x86_64 $ sudo yum install llvm5.0-devel-5.0.1-7.el7.x86_64 $ sudo yum install llvm5.0-libs-5.0.1-7.el7.x86_64 $ sudo yum install ncurses-compat-libs-6.0-8.20170212.amzn2.1.3.x86_64 $ sudo yum install postgresql11-devel-11.8-1PGDG.rhel7.x86_64
結構うまく行った感じでしたが、下記のやつだけどうにもなりません。
エラー: パッケージ: postgresql11-devel-11.8-1PGDG.rhel7.x86_64 (pgdg11) 要求: llvm-toolset-7-clang >= 4.0.1 問題を回避するために --skip-broken を用いることができます。 ** Found 1 pre-existing rpmdb problem(s), 'yum check' output follows: pgdg-redhat-repo-42.0-11.noarch は次の要求が不足ています: /etc/redhat-release
とりあえず、無視してすでに入ってるかどうかは別としてもう一回頭からインストールしてみます。
$ sudo yum -y install postgresql11-server; $ sudo yum -y install postgresql11-devel; $ sudo yum -y install postgresql11-libs; $ sudo yum -y install postgresql11; $ sudo yum -y install postgresql11-llvmjit; $ sudo yum -y install postgresql11-contrib; $ sudo yum -y install llvm5.0; $ sudo yum -y install llvm5.0-libs;
initDB~migrate
ここまで来たので、DB初期化してみます。
$ sudo /usr/pgsql-11/bin/postgresql-11-setup initdb Initializing database ... OK
できました。とりあえずエラー無視して良いのかな?
なので、起動してステータス確認してみます。
$ sudo systemctl start postgresql-11 $ sudo systemctl status postgresql-11 ~省略~ ● postgresql-11.service - PostgreSQL 11 database server Loaded: loaded (/usr/lib/systemd/system/postgresql-11.service; disabled; vendor preset: disabled) Active: active (running) since 水 2020-08-12 15:18:46 UTC; 9s ago ~省略~
起動できました。
この後、makemigration〜migrateを実行して無事にテーブル作成ができました。
まとめ
このほかにも細かな不具合がチョコチョコ出ていましたが、書ききれていません。多すぎて・・・
とりあえず必要そうなものを吟味せずにひたすらインストールしているため、必要のない不具合に踊らされている感じでした。
不要な物はインストールしない事が大事ですね。思考停止でめんどくさくなって全部盛りが不要な苦労を連れてきます。