npm install 遇上 git 源如何提速?

2022-10-08 15:22:36 +08:00
 xubingok

有一个叫 jspdf 的库,其 package.json 里面是这样描述的:

  "dependencies": {
    "canvg": "1.5.3",
    "file-saver": "github:eligrey/FileSaver.js#1.3.8",
    "html2canvas": "1.0.0-alpha.12",
    "omggif": "1.0.7",
    "promise-polyfill": "8.1.0",
    "stackblur-canvas": "2.2.0"
  }

问题就出在这个 file-saver.由于是从 github 拉取的,导致每次打包时 install 变得极慢,且不小的概率失败.

网上常用的 npm --registry https://registry.npmmirror.com无效的,并不能改变这种指定 git 源的下载.

有想过使用 file 协议 url 来替换.

"dependencies": {
    "file-saver": "file:./file-saver"
}

但是这个库并不是项目 package.json 的直接依赖,而是 jspdf 导致的间接依赖,似乎也无法奏效.

大佬们有没有什么好方法?这种依赖为 github 源且非直接依赖的,能否指定其使用别的方式下载?

2898 次点击
所在节点    程序员
26 条回复
TequilaSea
2022-10-09 09:44:41 +08:00
我记得我遇到过一个类似的,但不确定对这个问题有没有效,我的解决办法是把 git 协议替换成 https 协议
cy18
2022-10-09 10:04:48 +08:00
全局透明代理,设置好白名单或者黑名单,一劳永逸
cnit
2022-10-09 11:56:28 +08:00
xubingok
2022-10-09 14:23:31 +08:00
@hellohy 啊?真的么?我昨天搞了一个下午,看了 N 篇文章,都有提到 yarn.我一直以为这个 resolutions 是两者都支持的.支持需要高版本的 npm..
xubingok
2022-10-09 16:43:16 +08:00
已经使用 yarn 的 resolutions 解决...
npm 的 resolutions 倒也不是不支持.只是需要先执行 npx npm-force-resolutions 修改 lock 文件,然后在 install.而且在写法上也没有 yarn 这么灵活,很难用.
xubingok
2022-10-09 19:29:06 +08:00
@TequilaSea 这招用处不大...仅对某些不支持 ssh 的环境有用,根本原因还是墙的问题.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/885275

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX