Lockfile 相关问题
作者: wycats创建于 2016年10月11日更新于 2026年4月11日
标签triagedneeds-discussion
我想把这个问题作为一个讨论项目来讨论。 我认为对于这个担忧没有任何阻塞(更下方),但我确实认为锁文件的结构会长期地变得有问题.
-- -- . . .
首先,这里有一个简单的例子,说明问题的后果之一,来自雅恩自己的锁文件:
(原始内容存档于2017-10-02) (中文(简体) ). Word wrap + 0.0:
“0.0.3”版本
“https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234baf1bed63059107”
文字包装@ 0.0. 2 :
“0.0.2”版本
“https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz#b79669b42ecb409f83d583cad52ca17eaaa1643f”这里叙述的是两个依赖性(Wrap~0.0.2'和Wordrap=0.0.2')。 两人都对`Wrap 0.0.2'感到满意,但我们得到两个不同的包件。
这并不总是会发生的;有一些代码试图"dedup"包:
xtend@^ 4.0.0,"xtend@>= 4.0.0 < 4.1.0-0",xtend@~ 4.0.0:
“4.0.1”版本
解决了“https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af”的问题。但这不是唯一的例子:
rim 2.2.8; rim 2.4.3; rim 2.4.4; rim 2.5.0; rim 2.5.0; rim 2.5.1; rim 2.
“2.5.4”版本
解决的"https://registry.npmjs.org/rimraf/-/rimraf-2.5.4..tgz#9680093cbf1a0c86bd95b4625467535c29dfa04".
依赖性 :
缩写"^7.0.5"
轮廓:
“2.2.8”版本
解决了“https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz#e439be2aee327321952730f99a8929e4fc50582”的问题。rimraf ^ 2.2.8' 依赖可以与rimraf ~ 2.2.6' 合并,但不能合并。
更惨的是:
重制版为"0.1.0",重制版为"0.10.10":
“0.10.43”版本
解决了“https://registry.npmjs.org/recast/-/recast-0.10.43.tgz#b95d50f6d60761a5f62522e15d80678168491ce7f”的问题。
依赖性 :
灰体型"0.8.15"
-fb "~15001.1001.0-dev-harmony-fb" (英语).
私人的"~0.1.5"(=0.
源图“~0.5.0”
重制@0.10.33:
“0.10.33”版本
解决了“https://registry.npmjs.org/recast/-/recast-0.10.33.tgz#942808f7aa016f1fa7142c461d7e5704aaa8d697”的问题。
依赖性 :
灰型"0.8.12"
-fb "~15001.1001.0-dev-harmony-fb" (英语).
私人的"~0.1.5"(=0.
源图“~0.5.0”所有这些版本的 " 重制版 " 可以统一为 " 重制=0.10.33 " ,但是我们得到两本重制版。
另一个例子是:
一次\ 1.3.0,一次@ 1.x:
"1.4.0"的版本
解决了“https://registry.npmjs.org/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1”的问题。
依赖性 :
缩放 1
(一) 1.3.0, 1.3.3:
“1.3.3”版本
“https://registry.npmjs.org/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20”
依赖性 :
缩放 1所有这些模式都能够统一到 " 1.3.3起 " ,但我们得到两份。
-- -- . . .
希望我已经说清楚了
-- -- . . .
目前的线条策略成功地将依赖性在机会上统一,但没有任何回溯机制,这对于上述的统一机会是必要的. 它也没有提供 . . . . . . .
内容来源: yarnpkg/yarn