Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.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 如何在NPM中永久排除特定的可传递依赖项_Javascript_Node.js_Npm_Yarnpkg - Fatal编程技术网

Javascript 如何在NPM中永久排除特定的可传递依赖项

Javascript 如何在NPM中永久排除特定的可传递依赖项,javascript,node.js,npm,yarnpkg,Javascript,Node.js,Npm,Yarnpkg,我有一个Vue.js项目,在package.json中只有24个直接依赖项。这导致包lock.json中总共有1230个依赖项 其中一个可传递依赖项具有组织中不允许的许可证。我在Google上做了一些关于如何在NPM中排除可传递依赖项的研究,但我找不到任何有用的东西 在Maven(Java world)中,每个直接依赖项都有一个可选的exclusions列表。NPM有类似的功能吗?如何从我的项目中永久删除可传递的依赖项?一半出于好奇-什么是“坏”包,什么包依赖于它?毕竟,如果它是一个硬依赖,依赖

我有一个Vue.js项目,在
package.json
中只有24个直接依赖项。这导致
包lock.json
中总共有1230个依赖项

其中一个可传递依赖项具有组织中不允许的许可证。我在Google上做了一些关于如何在NPM中排除可传递依赖项的研究,但我找不到任何有用的东西


在Maven(Java world)中,每个直接依赖项都有一个可选的
exclusions
列表。NPM有类似的功能吗?如何从我的项目中永久删除可传递的依赖项?

一半出于好奇-什么是“坏”包,什么包依赖于它?毕竟,如果它是一个硬依赖,依赖包可能会崩溃。你可以解析到一个特定的版本(只可能有用),或者破解锁文件。我不认为你可以改变软件包本身的分辨率(例如,更换一个兼容API的软件包)。但如果您将其排除在外,并且它实际正在使用中,则情况会发生变化。@AKX例如
网页包链
(MPL-2.0)是
@vue/cli服务
的可传递依赖项。我发现这个模块不是可交付成果的一部分,也不是分发给客户的,这就是为什么它毕竟是好的。但无论如何,将来我可能会有一个GPL许可证的可传递依赖项,我需要排除它。并非所有依赖项都是强制性的。开发人员至少应该有排除依赖项的选项,就像在Java世界中使用Maven一样。我真的不知道为什么NPM如此有限。@DaveNewton我看到有了Thread,我可以解决特定版本的可传递依赖关系。但是,如果模块的所有版本都具有相同的许可证,这对我没有帮助。这是一个很酷的功能,但不是我想要的。谢谢你的评论!老实说,您最好的选择可能是删除或替换
node\u模块
树中的任何坏包。