问题描述
我们将范围内的 js 包发布到私有注册表(由我们使用 Verdaccio 管理)。
这意味着在我们的生产环境中,我们需要对我们的私有注册表进行身份验证才能使用 yarn install
。最简单的方法是什么?
解决方法
更漂亮的解决方案 (IMO)
切换到纱线浆果(纱线 v2)
在 .yarnrc.yml 中使用环境变量:
yarnPath: ".yarn/releases/yarn-berry.cjs"
nodeLinker: node-modules
npmScopes:
customScope:
npmRegistryServer: ${NPM_REGISTRY}
npmAlwaysAuth: true
npmAuthToken: ${NPM_TOKEN}
设置环境变量值
#docker-compose.yml
version: '3.7'
services:
server:
image: node:14
environment:
NPM_REGISTRY=https://private-registry
NPM_TOKEN=PUT_YOUR_TOKEN_HERE
ports:
- "3000:3000"
volumes:
- .:/var/app
command: "yarn run dev"
您也可以将环境变量放在 .env
文件中并将其添加到 .gitignore
测试
-
添加范围包
docker-compose run --rm server yarn add @customScope/test-package
-
安装
docker-compose run --rm server yarn install