Verdaccio 私库
Verdaccio 是一个 Node.js 创建的轻量的私有 npm proxy registry,所有您发布的包是私有的并且访问权限仅取决于您的配置。
verdaccio githubopen in new window
verdaccio 中文文档open in new window
源(Registry)是什么?
源(Registry)是用于管理包(Package)信息的存储库,其实现了存储 CommonJS 兼容包的源规范。
提供兼容 npm 客户端(yarn、npm 或 pnpm)的接口(API)。
语义版本号(Semantic Versioning)兼容(semver)。
安装 Verdaccio
使用npm
npm install -g verdaccio
使用yarn
yarn global add verdaccio
使用 Verdaccio
- 执行 CLI 命令
- 设置
registry
,任选一种方法。
执行 CLI 命令
verdaccio
设置registry
,你可以通过在全局环境下设置,让你的所有项目使用上自定义的源(Registry)
npm set registry http://localhost:8082/
或者在命令行中使用 npm 参数 --registry
npm install lodash --registry http://localhost:8082/
或使用yarn
yarn config set registry http://localhost:8082/
也可以添加.npmrc
文件,定义registry
registry=http://localhost:8082/
或者在package.json
中设置publishConfig
{
"publishConfig": {
"registry": "http://localhost:8082/"
}
}
2
3
4
5
cli 命令
verdaccio --listen 4000 --config ~./config.yaml
https://segmentfault.com/a/1190000019075126open in new window
https://www.jianshu.com/p/0df0183db3b8open in new window
内部包和外部包之间
最小化影响原则。 当使用 yarn 或 npm 的时候,依旧是走原有的配置地址。 只有当安装内部包的时候,才会去我们自己的服务器上下载。 修改 registry,指向内部地址,有两种方式,一种是安装的时候直接使用,这种方法是一次性的,更适合全局包。因为,当代码上传到 github 之后,ci-cd 工具使用 npm 会找到不 registry。 添加一个配置文件,在里面定义 registry,更适合本地包,