排除npm模块依赖?

时间:2015-07-24 17:53:30

标签: dependencies phantomjs environment-variables karma-runner decoupling

在我正在进行的项目中,我们使用Karma测试运行器,karma-phantomjs-launcher帮助我们使用PhantomJS运行测试。最近,我们发现PhantomJS版本作为对karma-phantomjs-launcher 1.9.8的依赖而被拉下来,这些问题导致我们的测试失败。幸运的是,karma-phantomjs-launcher允许我们将PHANTOMJS_BIN环境变量设置为指向要使用的替代PhantomJS二进制文件,这使得升级到2.0.0变得相当简单。

这一切都很好,但是当我们的持续集成环境尝试构建我们的项目时,它仍在执行1.9.8时拉下PhantomJS npm install二进制文件,因为它需要安装{ {1}}取决于PhantomJS karma-phantomjs-launcher

由于我们的构建服务器已配置为使用我们提供的1.9.8二进制文件,因此确实无需下载2.0.0二进制文件,我更希望它不会如果可能的话。

那么有什么方法可以配置我的package.json来告诉1.9.8它不需要拉下它的PhantomJS karma-phantomjs-launcher依赖项吗?

1 个答案:

答案 0 :(得分:1)

使用没有依赖关系的模块:

  

phantomjs软件包从第三方网站下载PhantomJS。虽然可以通过确保PATH中有正确的PhantomJS版本来防止此下载,但这并不总是切实可行。

     

This package从依赖项中删除了phantomjs,并要求您明确设置PhantomJS的路径。

或者从默认的package.json中删除它。例如,在Linux shell上:

cd node_modules/karma-phantomjs-launcher
vi package.json

删除dependencies声明:

  "dependencies": {
    "phantomjs": "~1.9"
    },

<强>参考