我的最终目标是安装npm audit
,而我的一般目标是了解如何强制安装npm软件包依赖项。
我开始这条路是因为运行npm install request@latest
指向qs时会遇到高风险错误。当我运行npm install qs@latest
和npm audit
时,没有任何错误。这样做之后,npm list qs不能反映预期的结果,即sudo npm install qs
建议将qs更新到最新版本。
命令1:
npm WARN grunt-html-validation@0.1.18 requires a peer of grunt@~0.4.1 but none is installed. You must install peer dependencies yourself.
+ qs@6.5.2
added 1 package from 1 contributor, updated 1 package and audited 623 packages in 4.014s
found 19 vulnerabilities (3 low, 10 moderate, 6 high)
获得:
sudo npm install request@latest
命令2:
+ request@2.88.0
updated 1 package in 2.584s
获得:
npm list qs
命令3:
grunt-html-validation@0.1.18
|
request@2.34.0
|
qs@0.6.6
获得:
gs@0.6.6
我的疑难解答中的发现/问题:
-为什么@my_project/node_modules/request/node_modules/qs
不更新?它在依赖关系链的末尾。我去了@my_project/node_modules/request/package.json/dependencies/qs
,但没有帮助。然后,我将~3.1.0
更新为@my_project/node_modules/request/node_modules/qs/package.json
,只是看它是否会更新npm list qs的结果。尽管3.1.0
反映了版本request@2.34.0
,但没有。我也使用过npm cache clean几次
-为什么 Command#1 没有更新我的依赖项链中的npm install grunt-html-validation
?
我也在npm WARN deprecated node-uuid@1.4.8: Use uuid module instead
npm WARN deprecated hoek@0.9.1: The major version is no longer supported. Please update to 4.x or newer
npm WARN grunt-html-validation@0.1.18 requires a peer of grunt@~0.4.1 but none is installed. You must install peer dependencies yourself.
上收到这些警告:
editText0
答案 0 :(得分:1)
已解决:显然,问题在于节点模块存储在我的项目目录中的节点模块中,并且它们分为两层,如下所示: grunt-html-validation =>请求=> qs 和 请求=> qs
我必须将两个“ request”文件夹的package.json文件修改为一个版本|做npm缓存清理,最后更新版本。