unpkg 淘宝registry 不能使用的问题
以前修改过一个unpkg,可以支持本地私服部署,今天有一位网友在使用淘宝registry 的时候发现有问题,会有重定向的问题
造成不能使用
原因分析
尽管我们配置的是 registry.npmmirror.com 但是对于内容的下载npmmirror 会使用另外一个域名cdn.npmmirror.com 对于npm 的tar.gz
进行下载造成有问题(核心是node 的https 模块不支持重定向请求)
解决方法
目前解决方法很简单,使用了一个对于http 请求支持重定向处理的包follow-redirects,直接替换默认的https 模块就可以了
- 参考代码
import https from 'https';
修改为
import {https} from 'follow-redirects';
docker 版本参考使用
- docker-compose 文件
version: "3"
services:
unpkg:
image: dalongrong/unpkg:http-env-v2
environment:
- NPM_REGISTRY_URL=https://registry.npmjs.org
ports:
- "8080:8080"
说明
目前docker镜像也已经push 到dockerhub 了,可以直接使用dalongrong/unpkg:http-env-v2
,同时unpkg 原始代码也有一些调整,直接基于了
unpkg 最新的进行了修改,对于docker 镜像同时修改了基础镜像为node:18.19.1-alpine3.19,node 低版本有一个很大的安全问题
参考资料
https://github.com/rongfengliang/unpkg
https://www.npmjs.com/package/follow-redirects
https://hub.docker.com/repository/docker/dalongrong/unpkg/general
https://github.com/rongfengliang/unpkg/blob/master/modules/utils/npm.js#L2
https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V20.md#20.11.1
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2023-02-22 使用tmpfs 进行nginx proxy_cache 加速
2023-02-22 nodejs error:03000086:digital envelope routines::initialization error 问题
2022-02-22 几款开源git server ssh 协议forced command 参考格式
2022-02-22 基于golang+openssh 服务实现一个简单的git over ssh 服务
2021-02-22 dremio sql server 查询中文的问题
2021-02-22 规避dremio数据查询限制的一些方法
2020-02-22 docker 几个不错的镜像加速地址