簡體   English   中英

運行yarn時,從bash使用私有令牌生成yarn.lock文件

[英]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

當我們運行yarnyarn.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM