Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 升级不是';t在package.json中_Javascript_Github_Npm_Lodash_Yarnpkg - Fatal编程技术网

Javascript 升级不是';t在package.json中

Javascript 升级不是';t在package.json中,javascript,github,npm,lodash,yarnpkg,Javascript,Github,Npm,Lodash,Yarnpkg,我今天从GitHub收到一条警告,要求我处理由lodash造成的漏洞,该版本低于4.17.12() 但我现在不直接使用lodash,它是由我的依赖项使用的。尽管所有依赖项都使用lodash 4.17.15,但仍然存在4.17.11。以下是纱线列表-花型lodash的输出 ...more dependencies above ├─ cheerio@1.0.0-rc.3 │ └─ lodash@4.17.15 ├─ global-tunnel-ng@2.7.1 │ └─ lodash@4.17.

我今天从GitHub收到一条警告,要求我处理由lodash造成的漏洞,该版本低于4.17.12()

但我现在不直接使用lodash,它是由我的依赖项使用的。尽管所有依赖项都使用lodash 4.17.15,但仍然存在4.17.11。以下是
纱线列表-花型lodash
的输出

...more dependencies above
├─ cheerio@1.0.0-rc.3
│  └─ lodash@4.17.15
├─ global-tunnel-ng@2.7.1
│  └─ lodash@4.17.15
├─ istanbul-lib-instrument@3.3.0
│  └─ lodash@4.17.15
├─ jest-config@24.9.0
│  └─ lodash@4.17.15
├─ lodash@4.17.11
然后我尝试了
删除lodash
,但得到了
错误,package.json文件中没有指定此模块。


那么我如何升级(或删除)包中没有的包。json?

因为您的依赖项依赖于lodash,升级它可能会破坏它们,所以您不允许这样做。我看不到任何依赖项使用lodash 4.17.11,
纱线列表的输出似乎推断它们都使用4.17.15。这是否意味着我应该等待一些软件包升级其lodash,而不能自己删除4.17.11?使用npm,不确定。但是您可以手动更新节点模块,例如,进入安装模块的每个目录,并执行
npm update lodash
,只要语义版本控制只是一个补丁版本,它就应该工作
4.17.11
->
4.17.15
是一个补丁版本,所以您应该没事。package.json可能有
^4.17.x
4.17.11
等,因此更新不应破坏任何内容。或者,删除整个节点模块目录,并在应用程序内执行npm初始化。如果在此之后有任何
4.17.11
,则开发人员已将其修复为
.11
,这对于补丁发行版来说似乎很奇怪。事实上,即使版本是
次要版本。。例如,
4.18.1
也应该可以,除非开发人员搞砸了……)@EmanuelIntilă升级补丁版本不应该破坏任何东西
4.17.11
->
4.17.15
是一个补丁版本。这就是语义版本控制的全部要点。事实上,做
minor
更新也不会破坏任何东西。使用中的大多数依赖项类似于->
^X.Y.Z
,这意味着仅更新到X不是自动的。