当 运行 yarn 时,yarn.lock 文件使用来自 bash 的私有令牌生成
When running yarn, yarn.lock file is generated with private token from bash
我正在为我们的一些私人包裹使用 Gem Fury。我将 yarn 注册表设置为 public 和我们的私有节点模块使用他们的代理:
yarn config set registry "https://npm-proxy.fury.io/$GEMFURY_TOKEN/username"
GEMFURY_TOKEN
设置在.bash
。 yarn config get registry
产生:
https://npm-proxy.fury.io/$(GEMFURY_TOKEN)/username
当我们运行yarn
时,yarn.lock
文件会生成这个:
private-module@0.1.0:
version "0.1.0"
resolved "https://npm.fury.io/username/private-module/-/0.1.0.tgz?auth=<GEMFURY TOKEN>"
dependencies:
ember-cli-babel "^5.1.6"
private-module-2@0.1.4:
version "0.1.4"
resolved "https://npm.fury.io/username/private-module-2/-/0.1.4.tgz?auth=<GEMFURY TOKEN>"
dependencies:
ember-cli-babel "^5.1.6"
ember-inflector "^1.9.6"
我不想要 git 存储库中的私人令牌。有没有一种方法可以排除令牌在生成时被添加到 yarn.lock
文件?
尝试按照 Gem Fury documentation 中的说明设置 npm
。
关键部分是将 always-auth
设置为 true
并使用 npm login
如果这没有帮助,那么您可以使用 Git
pre-commit hooks,当更改提交到 Git
存储库时,它将从 yarn.lock
中删除凭据。
我们最近解决了这个问题,但 Gemfury 文档并没有真正说明这一点。如果您需要拉入或推入 CI 构建,那么我认为您不应该使用 npm login
,因为这会修改您的主页 .npmrc
,这不是很有帮助。我们发现您需要做的就是更改项目的 .npmrc
以使用共享组织帐户。通过这种方式,您可以控制项目的 .npmrc
版本,以便您的开发人员和 CI 服务器可以从同一注册表 URL 读取,同时保持锁定文件无令牌:
@MY_ORG:registry=https://npm-proxy.fury.io/MY_ORG/
always-auth=true
//npm-proxy.fury.io/MY_ORG/:_authToken=${GEMFURY_TOKEN}
我正在为我们的一些私人包裹使用 Gem Fury。我将 yarn 注册表设置为 public 和我们的私有节点模块使用他们的代理:
yarn config set registry "https://npm-proxy.fury.io/$GEMFURY_TOKEN/username"
GEMFURY_TOKEN
设置在.bash
。 yarn config get registry
产生:
https://npm-proxy.fury.io/$(GEMFURY_TOKEN)/username
当我们运行yarn
时,yarn.lock
文件会生成这个:
private-module@0.1.0:
version "0.1.0"
resolved "https://npm.fury.io/username/private-module/-/0.1.0.tgz?auth=<GEMFURY TOKEN>"
dependencies:
ember-cli-babel "^5.1.6"
private-module-2@0.1.4:
version "0.1.4"
resolved "https://npm.fury.io/username/private-module-2/-/0.1.4.tgz?auth=<GEMFURY TOKEN>"
dependencies:
ember-cli-babel "^5.1.6"
ember-inflector "^1.9.6"
我不想要 git 存储库中的私人令牌。有没有一种方法可以排除令牌在生成时被添加到 yarn.lock
文件?
尝试按照 Gem Fury documentation 中的说明设置 npm
。
关键部分是将 always-auth
设置为 true
并使用 npm login
如果这没有帮助,那么您可以使用 Git
pre-commit hooks,当更改提交到 Git
存储库时,它将从 yarn.lock
中删除凭据。
我们最近解决了这个问题,但 Gemfury 文档并没有真正说明这一点。如果您需要拉入或推入 CI 构建,那么我认为您不应该使用 npm login
,因为这会修改您的主页 .npmrc
,这不是很有帮助。我们发现您需要做的就是更改项目的 .npmrc
以使用共享组织帐户。通过这种方式,您可以控制项目的 .npmrc
版本,以便您的开发人员和 CI 服务器可以从同一注册表 URL 读取,同时保持锁定文件无令牌:
@MY_ORG:registry=https://npm-proxy.fury.io/MY_ORG/
always-auth=true
//npm-proxy.fury.io/MY_ORG/:_authToken=${GEMFURY_TOKEN}