pnpm如何处理.yarnrc配置?如何从私有registry安装依赖?
pnpm 适配.yarnrc私有源配置方案
pnpm 原生不支持解析、读取.yarnrc格式的配置文件,Yarn专属的配置规则不会被pnpm自动加载。pnpm没有设计独立的专属rc配置格式,所有配置均基于通用.npmrc规范实现,.npmrc就是.yarnrc在pnpm场景下的等效配置文件。
配置迁移步骤
- 找到项目中原有的
.yarnrc文件,提取其中的私有源、认证信息相关配置项 - 在项目根目录新建/编辑
.npmrc文件,将提取的配置按npm规范格式写入即可,配置字段语义和.yarnrc完全一致,不需要做字段名修改
JFrog Artifactory 配置示例
原.yarnrc中典型的Artifactory配置如下:
registry "https://<your-artifactory-domain>/api/npm/npm-virtual/" //<your-artifactory-domain>/api/npm/npm-virtual/:_authToken "<your-access-token>" always-auth true
平移到.npmrc后的写法(仅调整键值对分隔符为npm规范格式,语义完全不变):
registry=https://<your-artifactory-domain>/api/npm/npm-virtual/ //<your-artifactory-domain>/api/npm/npm-virtual/:_authToken=<your-access-token> always-auth=true
如果是按作用域隔离的私有包(即@scope开头的包走私有源,公网包走官方源),配置写法为:
@your-company-scope:registry=https://<your-artifactory-domain>/api/npm/npm-virtual/ //<your-artifactory-domain>/api/npm/npm-virtual/:_authToken=<your-access-token> always-auth=true
配置有效性验证
配置完成后可通过以下命令确认生效:
- 执行
pnpm config get registry查看当前生效的默认源地址,确认返回为配置的Artifactory地址 - 执行
pnpm ping测试与私有源的连通性,正常返回连通耗时即为连接正常 - 执行
pnpm add @your-company-scope/test-private-pkg验证私有包拉取流程是否正常
注意:项目中残留的
.yarnrc文件不会对pnpm的配置解析产生干扰,pnpm会直接忽略该文件,无需强制删除。全局级别的私有源配置可以写入用户目录下的~/.npmrc文件,对当前用户下所有pnpm项目生效。
内容的提问来源于stack exchange,提问作者stopsopa
相关产品推荐
相关产品推荐

