编程是一门艺术

raptor.zh(at)gmail.com Creative Commons License
本作品采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。

archives 存档

01 Jan - 31 Dec 2017
01 Jan - 31 Dec 2016
01 Jan - 31 Dec 2015
01 Jan - 31 Dec 2014
01 Jan - 31 Dec 2013
01 Jan - 31 Dec 2012
01 Jan - 31 Dec 2011
01 Jan - 31 Dec 2010
01 Jan - 31 Dec 2009
01 Jan - 31 Dec 2008
01 Jan - 31 Dec 2007
01 Jan - 31 Dec 2006
01 Jan - 31 Dec 2005
01 Jan - 31 Dec 2004
01 Jan - 31 Dec 2003
01 Jan - 31 Dec 2002
01 Jan - 31 Dec 2001
01 Jan - 31 Dec 2000
01 Jan - 31 Dec 1999

--

links 链接

--

FreeBSD包版本依赖问题的处理

因为在FreeBSD里,最好的编程语言PHP提供的PostgreSQL驱动包对pgsql-client有版本依赖,所以搞得用起来很不爽。

比如现在PostgreSQL最新版已经发布到了9.6了(当然我还在用9.4,准备以后直接升10),但是pkg和ports里提供的php56-pgsql和php56-pdo_pgsql都只支持9.3。

实在不知道它们用到了什么指定版本里的特定东西。但是如果要用这两个驱动,就只能安装PostgreSQL 9.3。如果一定要装别的版本,就会导致这两个PHP包被卸载,所有依赖这两个包的程序都没法使用,比如我那些跑在PostgreSQL上的Wordpress应用。

折腾了好久才总算搞定二者并存的问题,用了一段时间。但是当时没有记录下来,这次升级系统以后顺便把所有包都升级了一下,结果报错说不能安装postgresql93-client,因为与postgresql94-client有冲突……

于是又折腾了一番才搞定,现在赶紧记录一下,免得以后又忘记了。

其实原理很简单:

就是强制让php的两个包把postgresql94-client当成postgresql93-client,这样安装这两个包的时候就不会再安装93了。

pkg set -n postgresql94-client:postgresql93-client

先这样改一下包名,然后安装两个PHP包,再把包名改回去即可。

注意:以后如果要升级这两个PHP包,还得把这个包名改过来再改回。

推送到[go4pro.org]

Trackback link:

Please enable javascript to generate a trackback url

No trackbacks

评论(0)


 
   
 
  表情图标 

 


提示: 除了 <b> 和 <i> 之外,其他的Html标签都将从您的评论中去除.url或mail地址会被自动加上链接.