排除 npm 模块依赖?

3
在我所工作的项目中,我们使用Karma测试运行器和karma-phantomjs-launcher来帮助我们使用PhantomJS运行测试。最近,我们发现karma-phantomjs-launcher作为依赖项拉取的PhantomJS版本1.9.8存在一些问题,导致我们的测试失败。幸运的是,karma-phantomjs-launcher允许我们设置PHANTOMJS_BIN环境变量来指向替代的PhantomJS二进制文件,这使得升级到2.0.0变得相当简单。
这一切都很好,但是当我们的持续集成环境尝试构建我们的项目时,它仍然会在执行npm install时拉取PhantomJS 1.9.8二进制文件,因为它需要安装依赖于PhantomJS 1.9.8karma-phantomjs-launcher
由于我们的构建服务器已配置为使用我们提供的“2.0.0”二进制文件,因此实际上没有必要下载“1.9.8”二进制文件。如果可能的话,我更希望它不要这样做。
那么,我是否可以配置我的package.json,告诉“karma-phantomjs-launcher”它不需要拉取其PhantomJS“1.9.8”依赖项?

你是否在使用TravisCI或CircleCI?我们已经在Circle上解决了上述问题,利用了从Travis设置中得出的解决方案。如果答案是否定的,则我怀疑该解决方案对您没有什么帮助。 - user1364910
我们的构建也遇到了相同的问题(使用mocha-phantomjs)。@KasperLewau,我很想听听你们如何在CI上解决这个问题?这绝对是我们npm安装中的瓶颈。 - Alan Christopher Thomas
1个回答

1

在没有依赖项的情况下使用模块:

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

此软件包从依赖项中删除了phantomjs,并要求您明确设置PhantomJS的路径。

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

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

移除 dependencies 声明:

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

参考资料


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接