npm install -g generator-angular не отражает реальные версии minimmatch, graceful-fs и generator-karma

#angularjs #node.js #npm #yeoman-generator-angular

#angularjs #node.js #npm #yeoman-generator-angular

Вопрос:

Я не понимаю следующего:

 tuxiboy@C:~/Downloads$ sudo npm install -g graceful-fs graceful-fs@latest
/usr/lib
└── graceful-fs@4.1.9 

tuxiboy@C:~/Downloads$ sudo npm install -g minimatch minimatch@latest
/usr/lib
└── minimatch@3.0.3 

tuxiboy@C:~/Downloads$ sudo npm install -g generator-karma generator-karma@latest
npm WARN deprecated cross-spawn-async@2.2.4: cross-spawn no longer requires a build toolchain, use it instead!
/usr/lib
└── generator-karma@2.0.0 

tuxiboy@C:~/Downloads$ sudo npm update minimatch
tuxiboy@C:~/Downloads$ sudo npm update graceful-fs
tuxiboy@C:~/Downloads$ sudo npm update generator-karma
tuxiboy@C:~/Downloads$ sudo npm install npm@latest -g
/usr/bin/npm -> /usr/lib/node_modules/npm/bin/npm-cli.js
/usr/lib
└── npm@3.10.8 

tuxiboy@C:~/Downloads$ sudo npm install -g generator-angular generator-angular@latest
npm WARN deprecated graceful-fs@2.0.3: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated CSSselect@0.4.1: the module is now available as 'css-select'
npm WARN deprecated CSSwhat@0.4.7: the module is now available as 'css-what'
npm WARN deprecated minimatch@0.2.14: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated minimatch@0.3.0: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated tough-cookie@0.9.15: ReDoS vulnerability parsing Set-Cookie https://nodesecurity.io/advisories/130
/usr/lib
├── generator-angular@0.15.1 
└── UNMET PEER DEPENDENCY generator-karma@>=0.9.0

npm WARN generator-angular@0.15.1 requires a peer of generator-karma@>=0.9.0 but none was installed.

tuxiboy@C:~/Downloads$ npm -g list minimatch
/usr/lib
├─┬ generator-angular@0.15.1
│ ├─┬ wiredep@2.2.2
│ │ └─┬ glob@4.5.3
│ │   └── minimatch@2.0.10 
│ └─┬ yeoman-generator@0.16.0
│   ├─┬ file-utils@0.1.5
│   │ ├─┬ glob@3.2.11
│   │ │ └── minimatch@0.3.0 
│   │ └── minimatch@0.2.14 
│   ├─┬ findup-sync@0.1.3
│   │ └─┬ glob@3.2.11
│   │   └── minimatch@0.3.0 
│   └─┬ glob@3.2.11
│     └── minimatch@0.3.0 
├─┬ generator-karma@2.0.0
│ └─┬ yeoman-generator@0.22.6
│   └─┬ glob@6.0.4
│     └── minimatch@3.0.3 
├─┬ grunt-cli@1.2.0
│ └─┬ findup-sync@0.3.0
│   └─┬ glob@5.0.15
│     └── minimatch@3.0.3 
├── minimatch@3.0.3 
└─┬ npm@3.10.8
  ├─┬ fstream-npm@1.2.0
  │ └─┬ fstream-ignore@1.0.5
  │   └── minimatch@3.0.3 
  ├─┬ glob@7.0.6
  │ └── minimatch@3.0.3 
  ├─┬ init-package-json@1.9.4
  │ └─┬ glob@6.0.4
  │   └── minimatch@3.0.3 
  ├─┬ node-gyp@3.4.0
  │ └── minimatch@3.0.3 
  └─┬ read-package-json@2.0.4
└─┬ glob@6.0.4
  └── minimatch@3.0.3 

tuxiboy@C:~/Downloads$ npm -g list graceful-fs
/usr/lib
├─┬ generator-angular@0.15.1
│ ├─┬ wiredep@2.2.2
│ │ └─┬ bower-config@0.5.2
│ │   └── graceful-fs@2.0.3 
│ └─┬ yeoman-generator@0.16.0
│   └─┬ download@0.1.19
│     └─┬ decompress@0.2.5
│       └─┬ tar@0.1.20
│         └─┬ fstream@0.1.31
│           └── graceful-fs@3.0.11 
├─┬ generator-karma@2.0.0
│ └─┬ yeoman-generator@0.22.6
│   └─┬ download@4.4.3
│     └─┬ vinyl-fs@2.4.3
│       └── graceful-fs@4.1.9 
├── graceful-fs@4.1.9 
└─┬ npm@3.10.8
  └── graceful-fs@4.1.6 

tuxiboy@C:~/Downloads$ npm -g list generator-karma
/usr/lib
└── generator-karma@2.0.0 

tuxiboy@C:~/Downloads$ npm -v
3.10.8  

Похоже, у меня есть генератор-карма в новейшей generator-karma@2.0.0 версия, но все равно он жалуется, что я использую слишком старую версию!

Что касается minimatch и graceful-fs, то в разделе ‘generator-angular@0.15.1 «это показывает версию minimatch@2.0.10 и graceful-fs@2.0.3 , но в других местах, похоже, есть minimatch@3.0.3 и graceful-fs@4.1.9 !

Ответ №1:

Прежде всего, это просто предупреждения.

Вы устанавливаете на свой компьютер последние версии minimatch и т. Д. Глобально. Но предупреждения связаны с деревом зависимостей generator-angular, т. Е. generator-angular имеет зависимости, которые зависят от более старых версий minimatch и т. Д. … Отсюда и предупреждения.

например, в этой части дерева:

 ├─┬ generator-angular@0.15.1
│ ├─┬ wiredep@2.2.2
│ │ └─┬ glob@4.5.3
│ │   └── minimatch@2.0.10 
│ └─┬ yeoman-generator@0.16.0
│   ├─┬ file-utils@0.1.5
│   │ ├─┬ glob@3.2.11
│   │ │ └── minimatch@0.3.0 
│   │ └── minimatch@0.2.14 
│   ├─┬ findup-sync@0.1.3
│   │ └─┬ glob@3.2.11
│   │   └── minimatch@0.3.0 
│   └─┬ glob@3.2.11
│     └── minimatch@0.3.0   

вы видите, что извлекаются более старые версии minimatch.