npm WARN弃用minimatch@2.0.10:请更新到minimatch 3.0.2或更高版本以避免RegExp DoS问题

Anj*_*ana 28 npm cordova

我在安装cordova时遇到了警告.我怎么解决它?

在此输入图像描述 请查看图片,了解当我在命令下面运行时发生了什么:

npm update minimatch@3.0.2

npm update -d

在此输入图像描述

Jer*_*son 45

npm update -g minimatch@3.0.2 为我解决了这个,没有汗水,让我知道它是否对你不起作用.我认为,看看你的截图,这是90%+可能会修复它.

看起来像npm@2.15.8,它列在几个cordova软件包中,依赖于node-gyp@3.3.1,它依赖于minimatch@2.0.10

这是为什么npm是无限疯狂的包管理器的一个例子.我仍然喜欢现代的JavaScript,但在我看来,npm是危险的,因为它很有用.

  • 现在关于npm Github的2,422期问题!:( (3认同)
  • 我从[node.js](https://nodejs.org/en/)安装了v6.2.2 Current.我尝试运行你提供的更新命令,但它什么也没做. (2认同)
  • npm真的是一头野兽.我现在正试图抵制对它的实际仇恨感,它导致了与cordova无限循环的问题. (2认同)

Dav*_*itt 30

这是我更新minimatch所做的

在对此GitHub问题发表评论后,

$ npm update minimatch
$ npm -v
2.10.1
$ npm install -g npm@3
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
npm@3.10.5 /usr/local/lib/node_modules/npm
$ npm install -g minimatch@3.0.2
/usr/local/lib
??? minimatch@3.0.2 
  ??? brace-expansion@1.1.6 
    ??? balanced-match@0.4.2 
    ??? concat-map@0.0.1 

$ npm -v
3.10.5
$npm view minimatch version
3.0.2
Run Code Online (Sandbox Code Playgroud)

  • 'npm -v minimatch'不会显示minimatch版本,而是显示您实际使用的npm版本.你可以尝试'npm -v dslkjfhrslkfhjezfmlhj',你会得到相同的结果.显示已安装的打包及其版本的简单方法是使用以下命令:'npm list -g --depth = 0'. (6认同)
  • Jeremy的回答对我不起作用,但确实如此.似乎在尝试更新minimatch之前我需要额外的"npm install -g npm @ 3"行. (3认同)

its*_*sar 6

当我尝试安装ember-cli并通过键入以下命令解决时,我收到此消息:

npm install -g npm

该命令基本上会更新你的npm,希望它也能解决你的问题.:)

更新:

但:

请注意,如果有人从您的存储库的克隆版本运行npm install,它们将最终得到旧的易受攻击的minimatch版本,并会看到错误消息,警告它们存在漏洞.

所以你需要再次运行上面的命令.