npm 5今天发布,其中一项新功能包括创建package-lock.json文件的确定性安装.
这个文件应该保存在源代码管理中吗?
我假设它类似于,yarn.lock并且composer.lock两者都应该保留在源代码控制中.
我想使用grunt-contrib-jasmineNPM包.它有各种依赖.依赖图的一部分如下所示:
?? grunt-contrib-jasmine@0.4.1
? ??? grunt-lib-phantomjs@0.2.0
? ? ??? phantomjs@1.8.2-2
Run Code Online (Sandbox Code Playgroud)
不幸的是,这个版本中存在一个错误phantomjs,导致它无法在Mac OS X上正确安装.这在最新版本中已得到修复.
我怎样才能grunt-lib-phantomjs使用更新的版本phantomjs?
一些额外的背景:
grunt-contrib-jasmine明确要求版本"~0.2.0"的grunt-lib-phantomjs,其中明确要求版本"~1.8.1"的phantomjs.phantomjs到我的包的依赖项没有任何效果; 两个版本都已安装并grunt-contrib-jasmine仍然使用旧版本(请参阅:使用NPM安装软件包时,是否可以告诉它使用其中一个依赖项的不同版本?).我在解决由 识别的 ReDoS 漏洞时遇到问题npm audit。我的应用程序有一个嵌套的子依赖项ansi-html,很容易受到攻击,但不幸的是,维护者似乎擅离职守了。正如您在 Github 问题的评论部分中看到的,为了解决这个问题,社区对位于ansi-html-community此处的存储库进行了分叉存储库进行了分叉,以解决此漏洞。
因此,我想将所有嵌套引用替换ansi-html为ansi-html-community。
我的正常使用策略npm-force-resolutions似乎无法完全覆盖不同包的嵌套子依赖项,而只能覆盖具有不同版本号的相同包。我已经研究了几个小时,但不幸的是,我发现解决这个问题的唯一方法似乎是使用纱线,我现在正在认真考虑使用yarn而不是npm。然而,这并不理想,因为我们的整个 CI/CD 管道都配置为使用 npm。
有谁知道有任何其他方法可以完成嵌套子依赖包替换/解析而不必切换到使用yarn?
这些是我能够找到的感兴趣的问题,但不幸的是,他们往往只讨论覆盖包版本号的方法,而不是包本身。
npm shrinkwrap(不理想):我的项目有6个严重漏洞,我不知道如何解决。npm审核修复失败。请帮助我解决此问题。
我正在将https://www.npmjs.com/package/toastr安装到我的项目中,并且在安装后显示了漏洞。我不知道有什么联系。
=== npm audit security report ===
Manual Review
Some vulnerabilities require your attention to resolve
Visit https://go.npm.me/audit-guide for additional guidance
High Machine-In-The-Middle
Package https-proxy-agent
Patched in >=3.0.0
Dependency of @angular/cli [dev]
Path @angular/cli > @schematics/update > pacote >
make-fetch-happen > https-proxy-agent
More info https://npmjs.com/advisories/1184
Run Code Online (Sandbox Code Playgroud)
High Machine-In-The-Middle
Package https-proxy-agent
Patched in >=3.0.0
Dependency of @angular/cli [dev]
Path @angular/cli > pacote > make-fetch-happen >
https-proxy-agent
More info https://npmjs.com/advisories/1184
Run Code Online (Sandbox Code Playgroud)
High Machine-In-The-Middle
Package https-proxy-agent
Patched in >=3.0.0
Dependency of @angular/cli …Run Code Online (Sandbox Code Playgroud)