NPM安装旧版本并不完全安装recursion依赖项
在我inheritance的项目中,packages.json大致如下所示:
{ "name": "...", "version": "...", "description": "", "author": "...", "license": "ISC", "dependencies": { "lodash": "^3.10.1", "assemble": "^0.4.37", "cheerio": "^0.16.0", "grunt": "^0.4.4", "grunt-build-control": "^0.1.3", }, "keywords": [ "handlebars-helper-md", "handlebars-helper-rel" ] }
当我第一次得到它时, lodash
是lodash
,我试图将它更新到3.10.1
(如上所示)。 然而, npm
继续在顶层安装2.4.1
(尽pipepackage.json
请求较新的版本),并且它不会在一些依赖中安装所请求的版本2.4.1
或2.4.2
(比如assemble
和cheerio
)。 因此当我npm install lodash@3.10.1
它抱怨未满足的依赖关系。
我试过以不同的顺序和组合来删除node_modules
和npm clear cache
和rm -rf $HOME/.npm
,没有任何改变。
我如何得到lodash@3.10.1
安装在所有依赖关系的顶层和请求版本的lodash
(而不是依赖使用lodash
的顶层副本 – 我认为这是正常的方式npm
工作)?
优选地,解决scheme不需要将所有依赖关系更新为新版本(假设甚至是可能的)。 这可能是一个解决scheme,但这将需要更多的validation,以确保没有任何破坏。