2017-04-20 69 views
1

我是npm和node.js的新手,我試圖在爲Windows安裝node.js,npm和git之後設置我的工作環境。我正在嘗試在全球範圍內安裝gulp並作爲dev的依賴項。兩次im得到這些警告:Gulp安裝警告:「請更新到minimatch 3.0.2」

npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue 
npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue 

這導致npm取消安裝。 我正在minimatch 3.0.2

C:\WINDOWS\system32>npm -v minimatch 
3.10.10 

但故宮仍是繼續按下警告不承認它作爲安裝的版本。 關於如何解決它的任何想法?

任何幫助表示讚賞。

回答

1

這使故宮優化版本不minmatch優化版本,

npm -v minimatch 

轉到node_modules和刪除minimatch並在packge.json確保minmatch版本 「> = 3.0.2」,然後再次嘗試

或者,你可以安裝最新的全球使用

npm install -g [email protected] 
+0

我已經刪除了minimatch文件夾,然後執行:npm install -g minimatch及其在package.json文件中看到的3.0.3版本。在嘗試安裝gulp時仍然會收到警告。 – BoooYaKa

+0

嘗試編輯的命令 –

+1

'npm -v minimatch'將顯示npm的版本,而不是minimatch的版本。要顯示minimatch的版本,請使用:'npm view minimatch version' – Asimov

0

已經遇到同樣的問題,並搜查了一下,我想在這裏記錄我的解釋爲未來的R互聯網eference。

問題是不是您安裝的minimatch版本過低或過期。顯示這些警告時,npm也不應該中止安裝。

這是一口間接依賴於minimatch的過時的版本,可以使用驗證npm ls -g minimatch(如果本地安裝一飲而盡,離開-g出)。輸出的一部分應該看起來像下面這樣:

+-- [email protected] 
| `-- [email protected] 
| +-- [email protected] 
| | +-- [email protected] 
| | | `-- [email protected] deduped 
| | `-- [email protected] 
| `-- [email protected] 
|  `-- [email protected] 
|  `-- [email protected] 
|   +-- [email protected] 
|   | `-- [email protected] deduped 
|   `-- [email protected] 

本文節選解釋說一口3.9.1取決於乙烯-FS 0.3.14,而這又取決於水珠流3.1.18等。你可以看到一些嵌套的依賴依賴於minimatch 2.0.10,而其他依賴於minimatch 0.2.14,這正是安裝期間npm所抱怨的版本。

你不可能自己解決這個問題。你可以做的是聯繫這些包的作者和過時的依賴關係,在這種情況下,glob,glob-stream和globule,並要求他們更新他們的依賴關係到一個更新的版本(或自己做,並提交一個拉請求,如果這些軟件包是開源的)。

儘管有很多人主動使用並依賴於吞嚥,但由於沒有更新來解決這個問題,所以有可能這些警告沒有任何負面影響。