已经安装了Postgres DB。我没有使用系统perl我在“/ srv / data203806 / Migration / CPAN / localperl / bin”中安装了另一个perl。当我尝试安装时,它要求PATH TO 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
刚刚遇到这个问题,在Ubuntu 16.04 Xenial上你正在寻找的包是:
apt-get install libdbd-pg-perl
在CentOS / RH上,您可以通过安装带有yum的perl-DBD-Pg包来修复它
sudo yum install perl-DBD-Pg
来自README:
安装:
在安装之前,请使用“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”,如下所示:
export POSTGRES_LIB =“/ usr / local / pgsql / lib -lssl -lcrypto”
安装DBD :: Pg的常用步骤:
- perl Makefile.PL
- 使
- 做测试
- make install
以普通用户身份执行步骤1到2,而不是root用户!
如果脚本本身找不到pg_config信息,它将询问您的路径。在此处输入pg_config文件的完整路径,包括文件本身的名称。
如果要使用模块,请阅读文档。
在安装perl模块之前,必须安装用于访问Postgres DB的客户端。我只是安装服务器和头文件:
sudo apt-get install postgresql
sudo apt-get install libpq-dev
对于ArchLinux(或使用Pacman的任何Distro):
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