Ubuntu 18.04 中 php-dev 与 nodejs 冲突(libssl)解决方式
作者: xtlsoft     时间: 2019-07-24 15:01:02     分类: 服务运维

由来

在 Windows Subsystem Linux (WSL) 上执行 PHP 拓展开发工作。例行安装 php-dev 包。

提示我将拆卸 npm, nodejs-dev, nodejs-gyp, nodejs

检查

翻查各种 apt 的输出,发现是 php-dev 依赖 libssl-dev,而 nodejs-dev 依赖 libssl1.0-dev,而这两个包实际上内容差不多(甚至完全一样),然后 Conflict 了。

怎么办呢?

正当我准备重新打 fake 包 libssl-dev 来解决这个问题的时候,我搜索到了一些东西。

搜索

发现并不是我第一次遇到这样的问题。我在 deepin 的论坛中查找到了类似问题。(好像是 deb 系的都存在过这样的问题?)

附上链接:https://bbs.deepin.org/forum.php?mod=viewthread&tid=145483 (挺老了)

@jingle 叫重新 build wiznote 包(相当于此处的 nodejs-dev 包),但是我会选择打一个空包 libssl-devphp-dev 吃。(之前也有用过这样的伎俩,详见装ajenti的那篇很老很老的文章)

好,接下来一位同学提示直接修改 /var/lib/dpkg/status

解决

没啥悬念

sudo vim /var/lib/dpkg/status
# ------> (vim console) /nodejs-dev/
#   ----> (Press 'N' key)
#     --> (jumped to  `nodejs-dev` segment)
#       > (delete `libssl1.0-dev (>=xxxxx)` dependency (xxxxx can be the version))
sudo apt install -y php-dev

总结

希望软件源快更新 php-devdependency


评论

© xtlsoft 2016-2023