- 主题:vcpkg疑问
刚接触这个
我的vcpkg目录下已经安装了需要的包
然后我的工程下加了vcpkg.json,指定了依赖包,最后还会在工程目录下再安装一遍依赖包?而不是直接调用vcpkg下已经安装好的包?
--
FROM 123.113.245.*
vcpkg有manifest mode、classic mode,就是你说的那两种
正经的项目都应该用manifest mode来锁定各个库的版本。自己玩的用哪种都行。
--
修改:z16166 FROM 114.241.228.*
FROM 114.241.228.*
你说的manifest mode就是项目下再装一遍?
为什么正经项目要这样
那如果我10个项目都依赖同一个包,需要下载10遍
【 在 z16166 的大作中提到: 】
: vcpkg有manifest mode、classic mode,就是你说的那两种
: 正经的项目都应该用manifest mode来锁定各个库的版本。自己玩的用哪种都行。
--
FROM 123.113.245.*
因为
1、正式的产品都是要锁定库的版本的(也就等于是锁定了库的源代码的版本),方便溯源、重现定位客户反馈的问题。
manifest mode里可以通过指定builtin-baseline以及各个库的精确版本来做到这点。这跟js的npm那些库的版本锁定是一样的。
2、不同的产品可能需要同一个库的不同版本,有的甚至要定制某个库(比如把开源库openssl改一点代码后自己维护)。
vcpkg的classic mode也能做到上述两点,但是麻烦
classic mode、manifest mode是啥意思,搜一下vcpkg的官方文档看看就清楚了
【 在 jingjm 的大作中提到: 】
: 你说的manifest mode就是项目下再装一遍?
: 为什么正经项目要这样
: 那如果我10个项目都依赖同一个包,需要下载10遍
: ...................
--
修改:z16166 FROM 114.241.228.*
FROM 114.241.228.*
多谢解答
我正在看文档
感觉和python 包管理搞出来的venv差不多
确实是有不同版本依赖的问题
【 在 z16166 的大作中提到: 】
: 因为
: 1、正式的产品都是要锁定库的版本的(也就等于是锁定了库的源代码的版本),方便溯源、重现定位客户反馈的问题。
: manifest mode里可以通过指定builtin-baseline以及各个库的精确版本来做到这点。这跟js的npm那些库的版本锁定是一样的。
: ...................
--
FROM 123.113.245.*