[英]When running yarn, yarn.lock file is generated with private token from bash
我將Gem Fury用於我們的某些私人包裹。 我將yarn注冊表設置為將它們的代理用於公共和私有節點模塊:
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文檔中的說明設置npm
。 關鍵部分是將always-auth
設置為true
並使用npm login
如果這沒有幫助,那么您可以使用Git
預提交掛鈎 ,當將更改提交到Git
存儲庫時,它將從yarn.lock
刪除憑證。
我們最近解決了這個問題,但是Gemfury文檔並沒有使它變得顯而易見。 如果您需要拉入或推入CI構建,那么我認為您不應該使用npm login
因為那樣會修改您的home .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}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.