我的项目引用了mocha
,phantomjs
等,这需要花费大量时间才能在npm install
期间下载。这在我的本地机器上不是问题,因为我只下载一次并且可以永久使用它们,除非我决定手动升级它们。
但是,在我的CI
计算机中,每次我jenkins
和git commit
进行测试和部署时,我的git push
服务器都需要下载它们。
那么我可以通过设置npm来从远程服务器下载这些慢速包来加速这个过程吗?相反,如果我全局安装它们,请从本地缓存安装它们,还是不安装它们?
任何人都知道如何配置?
答案 0 :(得分:1)
我found some packages可能会有所帮助
npm install
的{{1}}和package.json
的内容发生变化时,devDependencies
,请注意它假定为dependencies
如果您的CI服务器始终从头开始,则会持续存在于不同的构建中,这可能没有帮助node_modules
然后将您当前的npm install
文件夹复制到node_modules
中的某个位置),如果再次调用该脚本,它将验证任何更改to package.json (而不是对\tmp
或devDependencies
进行的更改),如果它没有更改,那么它将复制存储在dependencies
中的node_modules
文件夹},我看到的唯一限制是它不是跨平台的,并且缓存文件夹是\tmp
,它在重新启动时被删除(或者甚至可能在进程完成时被删除!)第二个包可能无法正常工作,但它似乎是一个好的起点:)
答案 1 :(得分:0)
您可以在package.json中的devDependencies
中指定要在本地使用的所有软件包,然后运行npm install -d
将安装这些软件包而不是主要依赖项。