我想使用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安装软件包时,是否可以告诉它使用其中一个依赖项的不同版本?).我正在使用的脚本部分package.json来强制解决方案:
"preinstall": "npx npm-force-resolutions"
Run Code Online (Sandbox Code Playgroud)
在分辨率部分,我输入graceful-fs了指定的版本:
"resolutions": {
"graceful-fs": "^4.2.4",
},
Run Code Online (Sandbox Code Playgroud)
当我运行npm i一切都正确安装时,会考虑设置版本。但是后来当我安装一个额外的模块时,例如npm i random-package,我的设置版本被扔掉了,我最终得到graceful-fs@1.2.3了一些依赖项中的其他低版本。
如果我清除 node_modules 文件夹并npm i再次运行,一切都会再次正常。
我还尝试将分辨率设置得更具体,例如
"resolutions": {
"glob/**/graceful-fs": "^4.2.4",
},
Run Code Online (Sandbox Code Playgroud)
但这无济于事。
我也试过:
但没有运气。
我错过了什么?
在我创建新的 Angular 12.0.3 项目后,npm audit立即检测到 8 个高漏洞和 40 个中度漏洞。
# npm audit report
css-what <5.0.1
Severity: high
Denial of Service - https://npmjs.com/advisories/1754
fix available via `npm audit fix --force`
Will install @angular-devkit/build-angular@0.1102.14, which is a breaking change
node_modules/css-what
css-select <=3.1.2
Depends on vulnerable versions of css-what
node_modules/css-select
svgo >=1.0.0
Depends on vulnerable versions of css-select
node_modules/svgo
postcss-svgo >=4.0.0-nightly.2020.1.9
Depends on vulnerable versions of svgo
node_modules/postcss-svgo
cssnano-preset-default *
Depends on vulnerable versions of postcss-svgo
node_modules/cssnano-preset-default
cssnano >=4.0.0-nightly.2020.1.9
Depends on …Run Code Online (Sandbox Code Playgroud) npm ×3
node.js ×2
angular ×1
angular12 ×1
dependencies ×1
npm-audit ×1
npm-install ×1
npm-scripts ×1