我想使用grunt-contrib-jasmine
NPM软件包。它具有各种依赖性。依赖图的一部分如下所示:
─┬ grunt-contrib-jasmine@0.4.1
│ ├─┬ grunt-lib-phantomjs@0.2.0
│ │ ├─┬ phantomjs@1.8.2-2
不幸的是,此版本中存在一个错误phantomjs
,导致该错误无法在Mac OS X上正确安装。此问题已在最新版本中修复。
如何获得grunt-lib-phantomjs
更新版本的phantomjs
?
一些其他上下文:
grunt-contrib-jasmine
明确要求版本"~0.2.0"
为grunt-lib-phantomjs
,明确要求版本"~1.8.1"
为phantomjs
。- 首先添加
phantomjs
到我程序包的依赖项没有任何作用;这两个版本均已安装,并且grunt-contrib-jasmine
仍使用旧版本(请参阅:使用NPM安装软件包时,是否可以告诉它使用其依赖项之一的其他版本?)。
NPM收缩包装为该问题提供了一个很好的解决方案。它允许我们重写特定子模块的特定依赖项的版本。
本质上,当您运行npm install时,npm首先会在您的根目录中查找是否存在npm-shrinkwrap.json文件。如果是这样,它将首先使用它来确定程序包的依赖关系,然后返回到处理package.json文件的正常过程。
要创建npm-shrinkwrap.json,您需要做的就是
码: