PostgresDBはすでにインストールされています。システムPerlを使用していません。「/ srv/data203806/Migration/CPAN/localperl/bin」に別のPerlをインストールしました。インストールしようとすると、pg_configへのパスを要求されます。
[root1@frmrszvwb023 bin]# ./cpan install DBD::Pg
Reading '/root/.cpan/Metadata'
Database was generated on Fri, 07 Mar 2014 03:53:02 GMT
Running install for module 'DBD::Pg'
Running make for T/TU/TURNSTEP/DBD-Pg-3.0.0.tar.gz
Checksum for /root/.cpan/sources/authors/id/T/TU/TURNSTEP/DBD-Pg-3.0.0.tar.gz ok
CPAN.pm: Building T/TU/TURNSTEP/DBD-Pg-3.0.0.tar.gz
Configuring DBD::Pg 3.0.0
Path to pg_config?
No POSTGRES_HOME defined, cannot find automatically
Warning: No success on command[/srv/data203806/MUXmh-Migration/CPAN/localperl/bin/Perl Makefile.PL]
'YAML' not installed, will not store persistent state
TURNSTEP/DBD-Pg-3.0.0.tar.gz
/srv/data203806/MUXmh-Migration/CPAN/localperl/bin/Perl Makefile.PL -- NOT OK
Running make test
Make had some problems, won't test
Running make install
Make had some problems, won't install
Could not read metadata file. Falling back to other methods to determine prerequisites
DBD :: Pgのインストールを手伝ってください? pg_configへのパスを取得する方法は?
libpq-dev
をインストールする必要があります。例: Ubuntuの場合:
Sudo apt-get install libpq-dev
この問題が発生したばかりです。Ubuntu16.04Xenialでは、探しているパッケージは次のとおりです。
apt-get install libdbd-pg-Perl
CentOS/RHでは、yumを使用してPerl-DBD-Pgパッケージをインストールすることで修正できます。
Sudo yum install Perl-DBD-Pg
インストール:
インストールする前に、「cpansign -v」プログラムを使用して、DBD :: Pgのコピーが完全で有効であることを暗号で確認してください。プログラム「cpansign」はModule :: Signatureの一部であり、CPANから入手できます。
デフォルトでは、Makefile.PLはApp :: Infoを使用してPostgreSQLライブラリの場所を検索し、ディレクトリを含めます。ただし、自分で制御する場合は、環境変数POSTGRES_INCLUDEとPOSTGRES_LIBを定義するか、POSTGRES_HOMEのみを定義します。 SSLをサポートするPostgreSQLをコンパイルした場合は、POSTGRES_LIB環境変数を定義し、次のように「-lssl」と「-lcrypto」を追加する必要があることに注意してください。
エクスポートPOSTGRES_LIB = "/ usr/local/pgsql/lib -lssl -lcrypto"
DBD :: Pgをインストールする通常の手順:
- Perl Makefile.PL
- make
- テストを行う
- インストールする
Rootとしてではなく、通常のユーザーとして手順1から2を実行してください。
スクリプトがpg_config情報自体を見つけられない場合は、スクリプトへのパスを尋ねられます。ここに、ファイル自体の名前を含む、pg_configファイルへの完全なパスを入力します。
モジュールを使用する場合は、ドキュメントをお読みください。
Perlモジュールをインストールする前に、PostgresDBにアクセスするためのクライアントをインストールする必要があります。サーバーとヘッダーファイルをインストールするだけです。
Sudo apt-get install postgresql
Sudo apt-get install libpq-dev
ArchLinux(またはPacmanを使用するディストリビューション)の場合:
pacman -S Perl-dbd-pg
Fedora 29、plenv、Perl v5.18.0
Plenvが機能するようになると、次のコマンドを使用してcpanmでDBD :: Pgをインストールできるようになりました。
Sudo dnf install postgresql postgresql-devel
cpanm --quiet --notest DBD::Pg
あなたが試すことができます:
locate pg_config
これは次のように表示されます。
/usr/pgsql-10/bin/pg_config
/usr/pgsql-10/include/ecpg_config.h
/usr/pgsql-10/include/ecpg_config_x86_64.h
次に、以下を実行します。
POSTGRES_HOME=/usr/pgsql-10 ./cpan install DBD::Pg