npm install express -g ... npm list -g D:\Users\Ls\AppData\Roaming\npm └─┬ express@3.4.8 ├── buffer-crc32@0.2.1 ├─┬ commander@1.3.2 │ └── keypress@0.1.0 ├─┬ connect@2.12.0 │ ├── UNMET DEPENDENCY batch 0.5.0 │ ├── UNMET DEPENDENCY bytes 0.2.1 │ ├── UNMET DEPENDENCY multiparty 2.2.0 │ ├── UNMET DEPENDENCY negotiator 0.3.0 │ ├── UNMET DEPENDENCY pause 0.0.1 │ ├── UNMET DEPENDENCY qs 0.6.6 │ ├── UNMET DEPENDENCY raw-body 1.1.2 │ └── UNMET DEPENDENCY uid2 0.0.3 ├── cookie@0.1.0 ├── cookie-signature@1.0.1 ├── debug@0.7.4 ├── fresh@0.2.0 ├── merge-descriptors@0.0.1 ├── methods@0.1.0 ├── mkdirp@0.3.5 ├── range-parser@0.0.4 └─┬ send@0.1.4 └── mime@1.2.11 npm ERR! missing: batch@0.5.0, required by connect@2.12.0 npm ERR! missing: bytes@0.2.1, required by connect@2.12.0 npm ERR! missing: pause@0.0.1, required by connect@2.12.0 ... npm ERR! not ok code 0
今天安装一些模块的时候发现 npm install 到了一个点之后就卡住了一样等了半天一直不动,接着中断看了下出现安装出现了 UNMET DEPENDENCY 的 模块,这个时候如果重新 install 一便的话,又会重头开始,如果又碰到卡壳就很烦。所以用list 命令查看之后决定用另外一种解决方案来解决这个问题,即跑到缺失模块的目录下去安装:
D:\Users\Ls\AppData\Roaming\npm\node_modules\express\node_modules\connect>npm install uid2 ... D:\Users\Ls\AppData\Roaming\npm\node_modules\express\node_modules\connect>npm list -g D:\Users\Ls\AppData\Roaming\npm └─┬ express@3.4.8 ├── buffer-crc32@0.2.1 ├─┬ commander@1.3.2 │ └── keypress@0.1.0 ├─┬ connect@2.12.0 │ ├── UNMET DEPENDENCY batch 0.5.0 │ ├── UNMET DEPENDENCY bytes 0.2.1 │ ├── UNMET DEPENDENCY multiparty 2.2.0 │ ├── UNMET DEPENDENCY negotiator 0.3.0 │ ├── UNMET DEPENDENCY pause 0.0.1 │ ├── UNMET DEPENDENCY qs 0.6.6 │ ├── UNMET DEPENDENCY raw-body 1.1.2 │ └── uid2@0.0.3 ├── cookie@0.1.0 ├── cookie-signature@1.0.1 ├── debug@0.7.4 ├── fresh@0.2.0 ├── merge-descriptors@0.0.1 ├── methods@0.1.0 ├── mkdirp@0.3.5 ├── range-parser@0.0.4 └─┬ send@0.1.4 └── mime@1.2.11 npm ERR! missing: batch@0.5.0, required by connect@2.12.0 npm ERR! missing: qs@0.6.6, required by connect@2.12.0 npm ERR! missing: bytes@0.2.1, required by connect@2.12.0 npm ERR! missing: pause@0.0.1, required by connect@2.12.0 npm ERR! missing: raw-body@1.1.2, required by connect@2.12.0 npm ERR! missing: negotiator@0.3.0, required by connect@2.12.0 npm ERR! missing: multiparty@2.2.0, required by connect@2.12.0 npm ERR! not ok code 0
看 log 发现已经解决了一个 uid2 的依赖,剩下的依次类推,在该 connect 模块下手动 install 就可以解决这些 UNMET DEPENDENCY 的问题了。(用 sublime 拼一下很快的)