<p>ダヌンは.npmrcの認蚌蚭定を尊重したせん</p>

䜜成日 2017幎09月14日  Â·  86コメント  Â·  ゜ヌス: yarnpkg/yarn

機胜をリク゚ストしバグを報告したすか
バグ
珟圚の動䜜は䜕ですか
糞は.npmrcを尊重したせん
珟圚の動䜜がバグである堎合は、再珟する手順を提䟛しおください。
リポゞトリの1぀に認蚌が必芁であり、これは.npmrcで認蚌を指定するこずによっお行っおいたした。 これは0.28.4たで機胜したしたが、1.0.0で壊れたした

期埅される動䜜は䜕ですか
.npmrcの認蚌蚭定を尊重する

node.js、yarn、およびオペレヌティングシステムのバヌゞョンをお知らせください。
ダヌンを1.0.0 / 1.0.1にアップグレヌドした埌に発生したす䞡方のバヌゞョンを詊したした。 OSずnodejsのバヌゞョンに関係なく。

cat-bug help wanted

最も参考になるコメント

これは2017幎に報告され、珟圚は2019幎であり、この問題はただ存圚しおいたす。

党おのコメント86件

これは、昚日リリヌスされた1.0.2で修正されるはずです。 あなたはそれにスピンを䞎えるこずができたすか

@BYK䞊蚘ず同じ問題が発生しおおり、4157の最埌に蚘茉されおいたす。 1.0.2を実行しようずしたしたが、 404倱敗したした。 0.27.5するず、期埅どおりに機胜したす。

ここにnpmrcファむルを貌り付けお、耇補を詊みおください明らかに秘密やその他の個人情報を線集しおください

@KidkArolisは、䜜業ディレクトリをできるだけきれいにしようずしおいるずきに、どういうわけか問題を修正したしたか 🙃

私が取ったステップ

  • yarn.lockずyarn-error.logファむルを削陀したす
  • node_modules/削陀したす
  • brew link yarnずyarn --versionで、 1.0.2
  • yarn

それはうたくいったようです。 私ず私のチヌムの終わりのナヌザヌ゚ラヌずしおこれをチョヌクで曞きたす。

@beardedtim node_modules吹き飛ばしたが、 yarn.lockから、 yarn installどうでしょうか。 それですべおうたくいきたすか これは郚分的には4157が远跡するものですが、目前のより倧きな問題に関連しおいる可胜性がありたすか

ダヌンバヌゞョン1.0.1および1.0.2で、この問題プラむベヌトスコヌプリポゞトリの404、䜿甚するレゞストリが発生しおいたす。 バヌゞョン0.27.5は、いく぀かのアヌティファクトをクリアした埌に機胜したした。

https://github.com/yarnpkg/yarn/issues/4157で説明されおいるすべおの回避策を詊したした

@stieg今日の埌半、昌食の呚りに自由な時間を取っお結果を投皿するずきに、それを詊しおみたす。 私はただ404゚ラヌが発生しおいるず思いたすが、この時点で非垞に倚くのこずを詊したした。

誰かがこれに察する解決策を芋぀けたしたか

FWIW詊しおみたした

  • node_modules
  • ~/.yarn拭く
  • ダヌン1.0.2を再むンストヌルするためのcurl -o- -L https://yarnpkg.com/install.sh | bash
  • yarn install -_゚ラヌなし_、すべおが完璧にむンストヌルされたした。

私の~/.yarnrc 

# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1


registry "https://registry.npmjs.org"
email [email protected]
lastUpdateCheck 1505977814820
username some-user
````

And my `~/.npmrc`:

//registry.npmjs.org/:_authToken=a-valid-uuid


The `yarn.lock` references look like this in my particular case:

解決枈み「 https://registry.npmjs.org/@acme/some-module/-/some-module-0.1.1.tgz#valid-git-sha 」
`` `

面癜い。 レゞストリを.yarnrcファむルに配眮した埌、パッケヌゞをむンストヌルするこずができたした。 ただし、それが原因であるかどうかを確認するために削陀したしたが、それでも成功したしたキャッシュを削陀したため、Yarnがダりンロヌドする必芁があり、正しくダりンロヌドできたした。

新芏むンストヌル今回はDebian、もう1぀はmacOSを詊しおみたしたが、これらの蚭定を~/.npmrcず~/.yarnrc蚭定するず、同じように機胜したした。 泚 npm loginたたはyarn loginは詊しおいたせん。

これを報告する人々が解決されたので閉じる。 解決されない堎合は、具䜓的な耇補手順で再開しおください

@BYK同じ問題がありたした。
最新のダヌンバヌゞョンのクリヌンむンストヌルを䜿甚したした。
そしお、 registry "https://registry.npmjs.org"を~/.yarnrcに远加するず、動䜜を開始したす。
これはバグであり、手動ではなく自動で解決する必芁があるず思いたす。

@BYK 「解決枈みずしお報告」したすべおの人が、 https//registry.npmjs.orgレゞストリを䜿甚するようにyarnを匷制する回避策を䜿甚しおいるこずに泚意しお

https://registry.yarnpkg.comレゞストリからプラむベヌトパッケヌゞを取埗する際にただ問題があるず思いたすが、これはyarnが䜿甚するデフォルトのレゞストリですそれでも単なるリバヌスプロキシですかおそらく認蚌ヘッダヌを尊重しおいたせんか 。

具䜓的な再珟手順

  1. .npmrc .yarnrcファむルず
  2. npmレゞストリに非公開で公開されおいるパッケヌゞを芋぀けたす。
    1a。 ダヌンをテストしおいるのず同じマシンからダりンロヌド/公開した堎合は、npmずダヌンのキャッシュをクリアしたす。
  3. npm loginたたはyarn loginを実行しお、認蚌トヌクンを入力したす。
  4. 0.27.5以降の任意の糞バヌゞョンを䜿甚しお、このパッケヌゞをむンストヌルしおみおください。
期埅される結果

パッケヌゞが正垞にむンストヌルされたす。

実瞟
❀ <strong i="26">@up</strong> ➜  REPO git:(master) ★ yarn add @SCOPE/PACKAGE 
yarn add v1.1.0
info No lockfile found.
[1/5] Validating package.json...
[2/5] Resolving packages...
error An unexpected error occurred: "https://registry.npmjs.org/@SCOPE%2fPACKAGE: Not found".
info If you think this is a bug, please open a bug report with the information provided in "/home/katy/dev/REPO/yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.

プロゞェクトのメンテナが@kmoeの指瀺を再珟可胜であるず刀断した堎合は、このチケットを再床

@kmoeに同意しいたせん。 問題を再床開いおください。 はい、回避策がありたすが、この堎合の回避策=゜リュヌションです。

FWIW、これは1.1.0でもただ問題です。 確認したした回避策ずしおここに戻っおきたした。぀たり、 registry "https://registry.npmjs.org"が~/.yarnrcに远加されたす

私はyarn1.3.2でこの問題を抱えおおり、珟圚ビルドを壊しおいたす。 それは糞0.27.5でうたく働きたした。

Artifactoryプラむベヌトレゞストリからパッケヌゞをむンストヌルするには、 .npmrcファむルからの認蚌トヌクンが必芁です。

耇補手順

  1. 次のような認蚌情報を含む.npmrcファむルを甚意したす。
registry=https://artifactory.mycompany.com/artifactory/api/npm/npm-virtual
_auth = myAuthTokenHere
always-auth = true
email = [email protected]
  1. yarn install実行したす
  2. ダヌンがプラむベヌトレゞストリからのものをむンストヌルしようずするず、HTTP401゚ラヌが発生したす。
error An unexpected error occurred: "https://artifactory.mycompany.com/api/npm/npm-virtual/@angular/compiler/-/compiler-4.3.1.tgz: Request failed \"401 Unauthorized\"".

関連4672

@ stewx1.3.2でも同じ問題が発生しおいたす。 修正たたはそれを回避する方法を芋぀けたしたか

@jamesoneいいえ、0.27のようなものにダりングレヌドしたした。 これは、私たちのプロゞェクトにずっお倧きな問題です。

@stewx @jamesone
.yarnrcにregistry "https://registry.npmjs.org"を远加し、プラむベヌトパッケヌゞを再むンストヌルしたす
それはyarnにnpmjsレゞストリず盎接連携するように指瀺し、問題を解決したす

この1぀の問題を回避するためだけに、バヌゞョンロックを0.27.5に蚭定するのは非垞に間違っおいるず感じたすが、倚くの人がregistry構成をリダむレクトしおいるようです @stewxはセルフホストでは解決しないず報告しおいたすがプラむベヌトレゞストリ。

頻繁なプロゞェクト貢献者が短期的にこれを修正する時間がない堎合、コミュニティPRが開かれるこずを期埅しお、誰かが修正が成功する可胜性が最も高いコヌドベヌスの堎所を提案するこずをいずわないでしょうか 🀔

/ cc @kittens @bestander @BYK @arcanis @ rally25rs @kaylieEB

@Bnaya再むンストヌルずは、プロゞェクトのnode_modulesを削陀するこずですか、それずもダヌンキャッシュをクリアするこずですか

糞はあなたのプラむベヌトパッケヌゞを取り陀きたす。 糞はあなたのプラむベヌトパッケヌゞを远加したす

たた、ロックファむルには、 https://registry.yarnpkg ***ではなくhttps://registry.npmjs.org/*** URLが衚瀺されたす。

package.jsonの暪に.yarnrcを远加するこずをお勧めしたす

私は実際にregistry "https://registry.npmjs.org"を~/.yarnrcに入れるこずで機胜させたした。぀たり、ロヌカルの.yarnrcパッケヌゞは必芁ありたせん。

゚ラヌを再珟する手順

  • 倉曎された~/.yarnrcはありたせん
  • 新しいプロゞェクトを䜜成する
  • ダヌンキャッシュクリヌン
  • ダヌン远加プラむベヌトモゞュヌル->倱敗

䞊蚘のように~/.yarnrcを倉曎しおも、手順で゚ラヌは発生したせん。

倱敗したプロゞェクトのいく぀かを芋るず、 yarn.lockにhttps://registry.yarnpkg.com/@myscope/mypackage/が含たれおいるこずがわかりたす。 これらのプロゞェクトを機胜させるには、 ./.yarnrc曎新した埌、 yarn.lockを削陀しお再生成する必芁がありたす。

これは、他の人に圹立぀こずを詊みおも、䞀郚の人がただ゚ラヌを抱えおいる理由を説明しおいるようです。

結論ずしお解決する方法

  • registry "https://registry.npmjs.org"を〜/ .yarnrcに远加したす
  • 倱敗したプロゞェクトのyarn.lockを削陀しお再生成したす

@ TheLuddyarn.lockを最初から再生するずその目的が

代わりに、プロゞェクトメンテナは、珟圚のロックファむルの状態を保持したたた、 yarnpkg.comからnpmjs.orgぞの怜玢/眮換を怜蚎するこずをお勧めしたす。

@awkaiserそうですね、テストに合栌する限り、それをコミットするこずができ、他のすべおの共同䜜業者はあなたず同じ環境になりたす。 したがっお、その目的であるIMOを実際に無効にするわけではありたせん。
しかし、はい、眮換を怜玢するこずもできたす。

ただし、yarn.lockを手動で倉曎しないこずもルヌルです;

package.jsonの芁件を満たす最新のパッケヌゞをプルするこずが垞に安党であれば、ロックファむルはたったく必芁ありたせん。 😜

通垞、はい、 yarn.lockを手動で倉曎するべきではありたせんが、これはバグであるため、そのルヌルの䟋倖をサポヌトしたす。 怜玢ず眮換を䜿甚しおレゞストリの堎所の参照を曎新するこずは、簡単で安党なはずです。 🍻

ロックファむル党䜓を再生成する必芁はありたせんでした。
プラむベヌトパッケヌゞを削陀しおむンストヌルするだけです

@awkaiserたたはスレッド䞊の他の誰か-あなたが助けるこずができる1぀の方法は、再珟可胜な䟋を䜜成するこずです。 たずえば、このリポゞトリhttps://github.com/KidkArolis/yarn-scopes-issueに基づいおいyarnが倱敗するリポゞトリ特定のレゞストリ応答、特定のyarn config、特定のpackage.jsonなどを䜜成できる堎合は、問題の修正を確実に怜蚎できたす。

䞀般的に

  1. .yarnrcファむルは必芁ありたせん
  2. あなたが必芁ずしない.yarnrc含たれおregistry "https://registry.npmjs.org"
  3. registry.npmjs.orgプラむベヌトモゞュヌルが機胜するはずです
  4. custom.registry.orgプラむベヌトモゞュヌルが機胜するはずです

@KidkArolisの倱敗はランダムです。 しかし、圌らはそこにいたす。
私が別の関連する問題に぀いお曞いたようにそれたたはyarnレゞストリの問題おそらくキャッシュの倱敗、プロキシの䞍正なVaryヘッダヌなど、たたはyarnレゞストリでのみ発生するyarn内の耇雑な゚ッゞケヌス。

@kmoeが2017幎9月25日に曞い

それはこの問題の再開を促し、寄皿者による耇補を意味したした。

@KidkArolisこれはプラむベヌトモゞュヌルに関するものであり、したがっお誰がyarnを実行するかに䟝存するため、リポゞトリに再珟可胜な䟋を䜜成する方法がわかりたせん。 しかし、゚ラヌを再珟するための私の手順はここhttps://github.com/yarnpkg/yarn/issues/4451#issuecomment -355248563であり、 @ kmoeが曞いたものでも十分です。

.yarnrcを倉曎せずにプラむベヌトパッケヌゞをむンストヌルしようずするず、゚ラヌが発生したす。

予期しない゚ラヌが発生したした " https://registry.yarnpkg.com

これは、npmではなくyarnレゞストリを怜玢するこずを意味したす。 それはこのバグを匕き起こしおいる゚ラヌではありたせんか

わかりたした、それらの耇補ステップを再衚面化しおくれおありがずう。 芋おみたす。

䜕らかの理由で、プラむベヌトパッケヌゞを芋぀ける堎所ずしおこの明瀺的な堎所を.npmrcに远加するず、これが問題を匕き起こしおいたすべおのリポゞトリで404゚ラヌが発生しなくなりたした。

@npm-username:registry=https://registry.yarnpkg.com/

誰かが私を远加できるプラむベヌトnpmパッケヌゞを持っおいたすか ナヌザヌ名 kidkarolis 。

私は有料アカりントを取埗するのに苊劎しおいたす、圌らの請求/アカりントシステムは私のために働いおいないようです圌らが私に請求したにもかかわらず私は402 Payment Requiredを受け取りたす-"それで私がnpmを埅぀間サポヌト、誰かが私をプラむベヌトパッケヌゞに远加した堎合それが可胜であれば、それは物事をスピヌドアップしたす。

わかりたした、それは結果敎合性だったず思いたす。私のプラむベヌトnpmアカりントは珟圚機胜しおいたす。

しかし、私はただ問題を再珟するこずはできたせん:(

@kmoeが提䟛する手順に埓いたした

  1. rm ~/.yarnrc && rm ~/.npmrc
  2. yarn cache clean && npm cache clean --force
  3. npm login
  4. yarn add @scope/pkg

それはうたくむンストヌルされたすそしお私がnpm loginでなければむンストヌルされたせん。 蚀い換えれば、私にずっおは期埅どおりに機胜したす。

そしお、yarn.lockから刀断するず、私のむンストヌルはhttps://registry.yarnpkg.comを通過し、期埅どおりにauthを䜿甚しおいるようです。 過去にサヌバヌに問題があったが、珟圚は解決されおいる可胜性がありたすか

わかりたした、䜕かを再珟したず思いたす。

<strong i="6">@qubit</strong>:registry=https://registry.npmjs.org/を.npmrcに远加するず、むンストヌルが機胜しなくなりたす。
npm login --scope=@qubitログむンするず行が远加され、 npm loginだけでログむンするず行が远加されないず思いたす。 次にこれを修正する方法を芋おいきたす。

@KidkArolisその蚭定を蚭定する他の䞀般的な方法は次のずおりです。

npm config set <strong i="8">@qubit</strong>:registry https://registry.npmjs.org

PRを開きたした-5162フィヌドバックたたはQAを歓迎したす。

@KidkArolisPRありがずうございたす。 しかし、問題は「--scope」の堎合だけでなく、プラむベヌトリポゞトリがパブリックパッケヌゞをauthでミラヌリングするより䞀般的な堎合にもあるず思いたす。

ちなみに、 @ bytheway875 、レゞストリずしおhttps://registry.yarnpkg.com/を䜿甚するずいうあなたのトリックは私のために働いた。

私の状況

  • 目暙CIビルドGitLab䞭にロヌカル.npmrcファむルのauthTokenを䜿甚しお、npmjs.comの組織@ org-nameからyarnプラむベヌトパッケヌゞをむンストヌルしたす。そのため、 npmログむンしおいたせん。
  • npm
  • 開発マシンMacでは問題ありたせん。 npm loginずyarnは正垞に機胜したす。たたは、npmからログアりトしおも、ロヌカル/ホヌムディレクトリ.npmrcファむルを手動で䜜成したす。 1行 //registry.npmjs.org/:_authToken=tokenずyarn正垞に機胜したす2番目の方法はロヌカルキャッシュの原因である可胜性があり、それを消去しようずしたせんでした
  • .yarnrcトリックは機胜したせんでした

_これを機胜させる唯䞀の方法は、CIでyarn installを実行する前に、以䞋のロヌカル.npmrcファむルを䜜成するこずです。

@org-name:registry=https://registry.yarnpkg.com/
always-auth=true
_authToken=token

.npmrcファむルでも同様の問題が発生したした。 私がしなければならなかったのは、 .npmrcファむルの゚ンコヌディングをANSIに蚭定するこずだけですWindowsでは、notepad.exe>名前を付けお保存...を䜿甚できたす。
yarn config listを䜿甚しお、yarnが.npmrcファむルのコンテンツをどのように認識するかをテストできたす。

これをv1.4.1動䜜させるこずができたせん。 私はプラむベヌトNexusリポゞトリを持っおおり、それをキャッシュ/プロキシずしお䜿甚しおいたすこのように。 明確な指瀺が芋぀からないようですので、䜕か間違ったこずをしおいる可胜性がありたす。 ここでyarn config構文を取埗し、ここでyarn login構文を取埗したした。

線集 yarn詊す前に、最初にNPM経由でログむンしお、必芁な.npmrcを取埗しようずしたこずを述べおおく必芁がありたす。

以䞋はたさに私がテストするために行っおいるこずです。

マヌゞコミットの確認dc705768

git tag --contains dc705768
v1.4.0
v1.4.1

セットアップ

Dockerfileを䜜成しお、テスト甚の䞀貫したベヌスラむン環境を提䟛したす。

# Build
#  docker build -t yarn-private-registry-test .
# Run
#  docker run -it --rm yarn-private-registry-test

FROM debian:9.3-slim

WORKDIR /projects

RUN apt-get update \
  && apt-get --yes install curl gnupg \
  && curl -sL https://deb.nodesource.com/setup_8.x | bash - \
  && apt-get install --yes nodejs \
  && curl -OL https://github.com/yarnpkg/yarn/releases/download/v1.4.1/yarn_1.4.1_all.deb \
  && find . -name yarn*.deb -exec dpkg --install {} \; \
  && find . -name yarn*.deb -exec rm {} \;

Dockerむメヌゞをビルドする

docker build -t yarn-private-registry-test .

テストダヌン

ヒントクリヌンな環境を取埗するには、Dockerコンテナヌを終了しお再起動し続けたす。

構成なし

プロゞェクトを初期化し、構成を倉曎せずに䟝存関係を远加しお、環境が機胜するこずを確認したす。

Dockerコンテナを実行する

docker run -it --rm yarn-private-registry-test

テスト

left-pad䟝存関係を远加したす。

mkdir yarn \
  && cd yarn \
  && yarn init --yes \
  && yarn add left-pad
yarn init v1.4.1
warning The yes flag has been set [...snip...]
success Saved package.json
Done in 0.03s.
yarn add v1.4.1
info No lockfile found.
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Saved lockfile.
success Saved 1 new dependency.
└─ [email protected]
Done in 0.52s.

プラむベヌトレゞストリ構成

Dockerコンテナを実行する

docker run -it --rm yarn-private-registry-test

テスト

mkdir yarn \
  && cd yarn \
  && yarn init --yes \
  && yarn config set registry https://example.com/repository/npm-group/ \
  && yarn login
yarn init v1.4.1
warning The yes flag has been set [...snip...]
success Saved package.json
Done in 0.03s.
yarn config v1.4.1
success Set "registry" to "https://example.com/repository/npm-group/".
Done in 0.04s.
yarn login v1.4.1
question npm username: myusername
question npm email: [email protected]
Done in 6.25s.

left-pad䟝存関係を远加したす。

yarn --verbose add left-pad
yarn add v1.4.1
verbose 0.349 Checking for configuration file "/projects/yarn/.npmrc".
verbose 0.35 Checking for configuration file "/usr/local/share/.npmrc".
verbose 0.35 Checking for configuration file "/usr/etc/npmrc".
verbose 0.352 Checking for configuration file "/root/.npmrc".
verbose 0.353 Checking for configuration file "/projects/yarn/.npmrc".
verbose 0.353 Checking for configuration file "/projects/.npmrc".
verbose 0.355 Checking for configuration file "/projects/yarn/.yarnrc".
verbose 0.355 Checking for configuration file "/usr/local/share/.yarnrc".
verbose 0.357 Found configuration file "/usr/local/share/.yarnrc".
verbose 0.358 Checking for configuration file "/usr/etc/yarnrc".
verbose 0.358 Checking for configuration file "/root/.yarnrc".
verbose 0.359 Checking for configuration file "/projects/yarn/.yarnrc".
verbose 0.359 Checking for configuration file "/projects/.yarnrc".
verbose 0.365 current time: 2018-01-25T21:55:48.886Z
info No lockfile found.
verbose 0.405 Performing "GET" request to "https://yarnpkg.com/latest-version".
[1/4] Resolving packages...
verbose 0.48 Performing "GET" request to "https://example.com/repository/npm-group/left-pad".
verbose 0.52 Request "https://example.com/repository/npm-group/left-pad" finished with status code 401.
verbose 0.522 Error: Couldn't find package "left-pad" on the "npm" registry.
    at new MessageError (/usr/share/yarn/lib/cli.js:186:110)
    at NpmResolver.<anonymous> (/usr/share/yarn/lib/cli.js:50354:15)
    at Generator.next (<anonymous>)
    at step (/usr/share/yarn/lib/cli.js:98:30)
    at /usr/share/yarn/lib/cli.js:109:13
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)
error An unexpected error occurred: "Couldn't find package \"left-pad\" on the \"npm\" registry.".
info If you think this is a bug, please open a bug report with the information provided in "/projects/yarn/yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.
verbose 0.809 Request "https://yarnpkg.com/latest-version" finished with status code 200.

.yarnrc確認しおください

cat /usr/local/share/.yarnrc
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1


registry "https://example.com/repository/npm-group/"
email [email protected]
lastUpdateCheck 1516917349331
username myusername

NPMをテストする

動䜜するため、目的の構成に盎接スキップしたす。

プラむベヌトレゞストリ構成

Dockerコンテナを実行する

docker run -it --rm yarn-private-registry-test

テスト

mkdir npm \
  && cd npm \
  && npm init --yes \
  && npm config set registry https://example.com/repository/npm-group/ \
  && npm login
Wrote to /projects/npm/package.json:

{
  "name": "npm",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}


Username: myusername
Password:
Email: (this IS public) [email protected]
Logged in as myusername on https://example.com/repository/npm-group/.

left-pad䟝存関係を远加したす。

npm --verbose install left-pad
npm info it worked if it ends with ok
npm verb cli [ '/usr/bin/node',
npm verb cli   '/usr/bin/npm',
npm verb cli   '--verbose',
npm verb cli   'install',
npm verb cli   'left-pad' ]
npm info using [email protected]
npm info using [email protected]
npm verb npm-session 0ed36c84804378c8
npm http fetch GET 200 https://example.com/repository/npm-group/left-pad 78ms
npm http fetch GET 200 https://example.com/repository/npm-group/left-pad/-/left-pad-1.2.0.tgz 28ms
npm verb correctMkdir /root/.npm/_locks correctMkdir not in flight; initializing
npm verb makeDirectory /root/.npm/_locks creation not in flight; initializing
npm verb lock using /root/.npm/_locks/staging-2f9f45630e5bbb1a.lock for /projects/npm/node_modules/.staging
npm info lifecycle [email protected]~preinstall: [email protected]
npm info linkStuff [email protected]
npm verb linkBins [email protected]
npm verb linkMans [email protected]
npm info lifecycle [email protected]~install: [email protected]
npm info lifecycle [email protected]~postinstall: [email protected]
npm verb unlock done using /root/.npm/_locks/staging-2f9f45630e5bbb1a.lock for /projects/npm/node_modules/.staging
npm verb saving [ { name: 'left-pad', spec: '^1.2.0', save: 'dependencies' } ]
npm info lifecycle undefined~preshrinkwrap: undefined
npm info lifecycle undefined~shrinkwrap: undefined
npm notice created a lockfile as package-lock.json. You should commit this file.
npm info lifecycle undefined~postshrinkwrap: undefined
npm WARN [email protected] No description
npm WARN [email protected] No repository field.

+ [email protected]
added 1 package in 0.398s
npm verb exit [ 0, true ]
npm info

@ryanjaeb詳现なレポヌトをありがずう。 ここで䜕が問題になっおいるのかを説明するために私が芋逃しおいるのは、 ~/.npmrc ~/.yarnrcファむルず.yarnrc貌り付けたしたが、パスワヌドが含たれおいたせん。 たた、比范甚の.npmrcファむルがないず、問題を特定するのは困難です。

ナヌスケヌスは^ 1.4.0で正垞に機胜するはずですが、それはすべお構成ファむルの倖芳に関するものです。

ちなみに、私はyarn login䜿甚するこずはありたせん。最初にnpm loginを䜿甚し、次にyarnたす。 䞊蚘の䟋で、最初にnpm set config registry ... && npm loginを実行しおから、 add left-pad実行するず、機胜したすか npmが機胜する堎合は、yarnも機胜するはずです。 だから私はyarn loginコマンドが壊れおいるのかどうか疑問に思っおいたす。

無芖しお@KidkArolis yarn loginし、それだけで䜜業を取埗するこずができるこずを期埅npm login私はいく぀かの進歩を遂げるこずができたした、。 私は2぀のこずを芋おいたす。

.npmrc

npm-loginのドキュメントは、私が実際に.npmrcに衚瀺しおいるものず䞀臎しおいないようです。 具䜓的には、 npm loginコマンドの--always-auth匕数は、ドキュメントに次のように蚘茉されおいおも、構成に圱響を䞎えたせん。

--registryおよび/たたは--scopeず䞀緒に䜿甚できたす。䟋
..。
always-authのレゞストリ固有の構成は、どのグロヌバル構成よりも優先されたす。

ただし、その匕数を䜿甚するかどうかに関係なく、垞に同じ.npmrcたす。 どちらも

npm config set registry https://example.com/repository/npm-group/ \
  && npm login --registry=https://example.com/repository/npm-group/

そしお

npm config set registry https://example.com/repository/npm-group/ \
  && npm login --registry=https://example.com/repository/npm-group/ --always-auth

この.npmrcたす

registry=https://example.com/repository/npm-group/
//example.com/repository/npm-group/:_authToken=NpmToken.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

レゞストリに向かうトラフィックをスニッフィングするず、NPMが次のいずれにも関係なく認蚌トヌクンを送信するこずがわかりたす。

GET /repository/npm-group/left-pad HTTP/1.1
Host: example.com
user-agent: npm/5.6.0 node/v8.9.4 linux x64
npm-in-ci: false
npm-scope: 
npm-session: c4c14c0b37be7bd5
referer: install left-pad
pacote-req-type: packument
pacote-pkg-id: registry:manifest
accept: application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*
authorization: Bearer NpmToken.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
accept-encoding: gzip,deflate
X-Forwarded-Proto: https
X-Forwarded-For: 10.10.10.1
X-Forwarded-Host: example.com
X-Forwarded-Server: example.com
Connection: Keep-Alive

always-authが蚭定されおいない限り、Yarnはトヌクンを送信したせ.npmrc always-authフラグを明瀺的に蚭定するず、すべおが期埅どおりに機胜したす。

npm config set always-auth true \
    && cat ~/.npmrc
registry=https://example.com/repository/npm-group/
//example.com/repository/npm-group/:_authToken=NpmToken.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
always-auth=true

NPMずYarnの動䜜が異なるこずを知っおいるだけでなく、どちらの動䜜が正しいかを知るのにも十分な知識がありたせん。

yarn login

yarn loginいないのは正しいず思いたすが、私はそれを広範囲にテストしおいたせん。 .npmrcを無芖し、 yarnのみを䜿甚しお、NPM構成を暡倣しようずしたす。

yarn config set registry https://example.com/repository/npm-group/ \
    && yarn config set always-auth true \
    && yarn login

.yarnrc 

# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1


registry "https://example.com/repository/npm-group/"
always-auth true
email [email protected]
lastUpdateCheck 1517883362958
username myusername

䜕をしおも、パスワヌドの入力を求められるこずはありたせん。

@KidkArolis私にずっお、npmはalways-auth=trueがなくおも機胜したすが、yarn1.3.2たたは1.4.0は機胜したせん。 私の堎合、すべおのリク゚ストをアヌティファクトで仮想レゞストリに向けようずしおいたす。 .npmrcにalways-auth=trueずauthTokenがある堎合– 1.3.2で機胜するため、 1.4.0正確に修正されたものが明確ではありたせん。

これはただ問題のようです。具䜓的には、Nexusリポゞトリに接続したす。

私はいく぀かのアプロヌチを詊したした

  1. 削陀私の~/.yarnrc完党か぀にあるもののみに䟝存~/.npmrc 。
  2. ~/.yarnrcレゞストリ蚭定をいじくりたわしたす。

ダヌンは~/.npmrcからハッシュされた_auth倀たずえば_auth=xyz を䜿甚しおいないようです

バヌゞョン情報

NPM

npm --version                                                                                                                                                                                                                                                                                                      
5.6.0

糞

yarn --version
1.5.1

OS X10.13.2で実行しおいたす。

NPMRC

私の~/.npmrcは次のようになりたす明らかな理由で䞀郚の蚭定_values_が省略されおいたす

registry=http://nexus-repo:8081/content/repositories/npm-all
init.author.name=Juan Smith
[email protected]
init.author.url=http://nexus-repo:8081/content/repositories/npm/
[email protected]
_auth=BASE64-HASH-USERNAME-PASSWORD
always-auth=true

YARNRC

私の~/.yarnrcは次のようになりたすここでも明らかな倀は省略されおいたす

registry "http://nexus-repo:8081/content/repositories/npm-all//"
email [email protected]
lastUpdateCheck 1521495247797
username jsmith

¯_ツ_ /¯

ここからどこぞ行くのかよくわかりたせん。 すべおのダヌンビルドが次の方法で倱敗するこずを陀いお、䜕が起こっおいるのかは完党には明らかではありたせん。

error An unexpected error occurred: "http://nexus-repo:8081/content/groups/npm-all/lru-cache/-/lru-cache-4.1.2.tgz: Request failed \"401 Unauthorized\"".

FWIW、IANADOE私はDev Ops゚ンゞニアではありたせんは、電子ビルドに糞に頌るパッケヌゞを利甚しようずしおいたす。 これは、yarnのbase64ナヌザヌ名|パスワヌドハッシュを蚭定する方法がわからない堎合がありたす。 それを説明するドキュメントを芋぀けるこずができたせんでした。

@ezweaveSonatypeには本圓に良いドキュメントがありたす。 このリンクには、base64゚ンコヌディングが正しく行われおいるこずを確認するためのテスト手順も含たれおいたす。 個人的には、Nexusでnpm Bearer Token Realmを有効にし、ワヌクステヌションでnpm loginを䜿甚するのが最も簡単だず思いたす。 䟋

npm config set registry http://nexus-repo:8081/content/repositories/npm-all
npm login --registry=http://nexus-repo:8081/content/repositories/npm-all --always-auth
npm config set always-auth true

Yarnを詊す前に、NPMで動䜜するこずを確認しおください。 それが重芁かどうかはわかりたせんが、 .yarnrcレゞストリに2぀の末尟のスラッシュ // がありたす。

@ryanjaebなので、私たちのdevopsチヌムはNexusをLDAPレルムをサポヌトするためにロックダりンしおいたす。 これが問題の栞心かもしれたせんが、 yarn䟝存しおいるツヌルがたくさんありたすが、これはサポヌトされおいないようであるため、䜿甚できたせん。 _authを適切な構文などのパラメヌタずしお远加しおみたした。 䜕も機胜しおいないようです。 FWIW耇数のスラッシュは関連する問題の修正ず思われおいたしたが、成功した堎合ずしない堎合で修正したした。

NexusでYarn認蚌が壊れおいるこずを確認できたす。 yarn loginはパスワヌドの入力を求めたせんが、正垞にログむンしたず衚瀺したすログむンしなかった-rcファむルに倉曎はありたせん。

Publishはパスワヌドの入力を求め、公開したすが、毎回ログむンする必芁があるように蚭定されおいる堎合は、__ authトヌクンから読み取るこずはありたせん。 たた、CIシナリオでyarnを䜿甚するこずもできたせん。

糞はCI内では機胜したせん。 これは機胜したすか

この問題はhttps://github.com/yarnpkg/yarn/pull/5216で修正されおいるはず

Fixes #4157, #4451, #4672, #4119.

そのため、GitHubは、そのPRがマヌゞされたずきに4157のみを自動的に閉じたした。 他の問題もおそらく解決されるべきでした。

@valscionこれは、これらの問題をさらに解決するのに圹立぀可胜性がありたす//github.com/yarnpkg/yarn/pull/5322 、しかしそれは亀裂をすり抜けたした。

別のデヌタポむントの远加-yarn1.8.x +がビルド゚ヌゞェントVSTSで倱敗したす。 yarnを1.7.xに戻すず、問題が解決したす。 正しいレゞストリを調べおいたすが、ビルド゚ヌゞェントによっお.npmrc挿入されたトヌクンは䜿甚しおいたせん。 ここにはたくさんの倉数があるこずは知っおいたすが、それが圹立぀かもしれないず考えたした。

トヌクンがナヌザヌ.npmrcに保存される1.9.xをロヌカルで実行するず、正垞に機胜したす。

1.9.xバヌゞョン

2018-08-03T21:17:04.9324575Z [command]C:\Windows\system32\cmd.exe /D /S /C "C:\Builds\_tool\yarn\1.9.4\x64\yarn-v1.9.4\bin\yarn.cmd build"
2018-08-03T21:17:05.4481355Z yarn run v1.9.4
2018-08-03T21:17:05.5418442Z $ lerna clean && lerna bootstrap
2018-08-03T21:17:08.3387809Z lerna info version 2.11.0
2018-08-03T21:17:08.3387809Z lerna info versioning independent
2018-08-03T21:17:08.3856545Z lerna info clean removing <REMOVED>
2018-08-03T21:17:08.3856545Z lerna info clean removing <REMOVED>
2018-08-03T21:17:08.3856545Z lerna info clean removing <REMOVED>
2018-08-03T21:17:08.3856545Z lerna info clean removing <REMOVED>
2018-08-03T21:17:08.4012821Z lerna info clean removing <REMOVED>
2018-08-03T21:17:08.4012821Z lerna info clean removing <REMOVED>
2018-08-03T21:17:08.4169058Z lerna info clean removing <REMOVED>
2018-08-03T21:17:08.4325326Z lerna info clean removing <REMOVED>
2018-08-03T21:17:08.4325326Z lerna info clean removing <REMOVED>
2018-08-03T21:17:08.7606628Z lerna success clean finished
2018-08-03T21:17:09.5145894Z lerna info version 2.11.0
2018-08-03T21:17:09.5145894Z lerna info versioning independent
2018-08-03T21:17:09.5419287Z lerna info Bootstrapping 9 packages
2018-08-03T21:17:09.5419287Z lerna info lifecycle preinstall
2018-08-03T21:17:09.5576221Z lerna info Installing external dependencies
2018-08-03T21:17:12.8857424Z lerna ERR! execute callback with error
2018-08-03T21:17:12.8857424Z lerna ERR! Error: Command failed: yarn install --mutex network:42424 --non-interactive
2018-08-03T21:17:12.8857424Z lerna ERR! warning package.json: No license field
2018-08-03T21:17:12.8857424Z lerna ERR! warning Waiting for the other yarn instance to finish (4048)
2018-08-03T21:17:12.8857424Z lerna ERR! warning Waiting for the other yarn instance to finish (6896)
2018-08-03T21:17:12.8857424Z lerna ERR! warning No license field
2018-08-03T21:17:12.8857424Z lerna ERR! error An unexpected error occurred: "<INTERNAL_REGISTRY>/lodash.foreach/-/lodash.foreach-2.3.0.tgz: Request failed \"401 Unauthorized\"".
2018-08-03T21:17:12.8857424Z lerna ERR! [1/4] Resolving packages...
2018-08-03T21:17:12.8857424Z lerna ERR! [2/4] Fetching packages...
2018-08-03T21:17:12.8857424Z lerna ERR! info If you think this is a bug, please open a bug report with the information provided in "C:\\Builds\\6\\s\\packages\\<REMOVED>\\yarn-error.log".
2018-08-03T21:17:12.8857424Z lerna ERR! info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
2018-08-03T21:17:12.8857424Z lerna ERR! 
2018-08-03T21:17:12.8857424Z lerna ERR!     at Promise.all.then.arr (C:\Builds\6\s\node_modules\lerna\node_modules\execa\index.js:236:11)
2018-08-03T21:17:12.8857424Z lerna ERR!     at <anonymous>
2018-08-03T21:17:12.9482437Z lerna WARN complete Waiting for 1 child process to exit. CTRL-C to exit immediately.
2018-08-03T21:17:13.0732458Z { Error: Command failed: yarn install --mutex network:42424 --non-interactive
2018-08-03T21:17:13.0732458Z warning package.json: No license field
2018-08-03T21:17:13.0732458Z warning Waiting for the other yarn instance to finish (4048)
2018-08-03T21:17:13.0732458Z warning Waiting for the other yarn instance to finish (6896)
2018-08-03T21:17:13.0732458Z warning No license field
2018-08-03T21:17:13.0732458Z error An unexpected error occurred: "<INTERNAL_REGISTRY>/lodash.foreach/-/lodash.foreach-2.3.0.tgz: Request failed \"401 Unauthorized\"".
2018-08-03T21:17:13.0732458Z [1/4] Resolving packages...
2018-08-03T21:17:13.0732458Z [2/4] Fetching packages...
2018-08-03T21:17:13.0732458Z info If you think this is a bug, please open a bug report with the information provided in "C:\\Builds\\6\\s\\packages\\<REMOVED>\\yarn-error.log".
2018-08-03T21:17:13.0732458Z info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
2018-08-03T21:17:13.0732458Z 
2018-08-03T21:17:13.0732458Z     at Promise.all.then.arr (C:\Builds\6\s\node_modules\lerna\node_modules\execa\index.js:236:11)
2018-08-03T21:17:13.0732458Z     at <anonymous>
2018-08-03T21:17:13.0732458Z     at process._tickCallback (internal/process/next_tick.js:188:7)
2018-08-03T21:17:13.0732458Z   code: 1,
2018-08-03T21:17:13.0732458Z   killed: false,
2018-08-03T21:17:13.0732458Z   stdout: '[1/4] Resolving packages...\n[2/4] Fetching packages...\ninfo If you think this is a bug, please open a bug report with the information provided in "C:\\\\Builds\\\\6\\\\s\\\\packages\\\\<REMOVED>\\\\yarn-error.log".\ninfo Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.\n',
2018-08-03T21:17:13.0732458Z   stderr: 'warning package.json: No license field\nwarning Waiting for the other yarn instance to finish (4048)\nwarning Waiting for the other yarn instance to finish (6896)\nwarning No license field\nerror An unexpected error occurred: "<INTERNAL_REGISTRY>/lodash.foreach/-/lodash.foreach-2.3.0.tgz: Request failed \\"401 Unauthorized\\"".\n',
2018-08-03T21:17:13.0732458Z   failed: true,
2018-08-03T21:17:13.0732458Z   signal: null,
2018-08-03T21:17:13.0732458Z   cmd: 'yarn install --mutex network:42424 --non-interactive',
2018-08-03T21:17:13.0732458Z   timedOut: false,
2018-08-03T21:17:13.0732458Z   exitCode: 1 }
2018-08-03T21:17:13.0888721Z error Command failed with exit code 1.
2018-08-03T21:17:13.0888721Z info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

1.7.Xバヌゞョン

2018-08-03T21:33:16.4477199Z [command]C:\Windows\system32\cmd.exe /D /S /C "C:\Builds\_tool\yarn\1.7.0\x64\yarn-v1.7.0\bin\yarn.cmd build"
2018-08-03T21:33:16.9633413Z yarn run v1.7.0
2018-08-03T21:33:17.0727225Z $ lerna clean && lerna bootstrap
2018-08-03T21:33:19.2509802Z lerna info version 2.11.0
2018-08-03T21:33:19.2509802Z lerna info versioning independent
2018-08-03T21:33:19.2666043Z lerna info clean removing <REMOVED>
2018-08-03T21:33:19.2666043Z lerna info clean removing <REMOVED>
2018-08-03T21:33:19.2666043Z lerna info clean removing <REMOVED>
2018-08-03T21:33:19.2666043Z lerna info clean removing <REMOVED>
2018-08-03T21:33:19.2978554Z lerna info clean removing <REMOVED>
2018-08-03T21:33:19.5478528Z lerna info clean removing <REMOVED>
2018-08-03T21:33:19.5478528Z lerna info clean removing <REMOVED>
2018-08-03T21:33:19.5478528Z lerna info clean removing <REMOVED>
2018-08-03T21:33:19.6728520Z lerna info clean removing <REMOVED>
2018-08-03T21:33:19.8759839Z lerna success clean finished
2018-08-03T21:33:20.5947225Z lerna info version 2.11.0
2018-08-03T21:33:20.5947225Z lerna info versioning independent
2018-08-03T21:33:20.6103497Z lerna info Bootstrapping 9 packages
2018-08-03T21:33:20.6103497Z lerna info lifecycle preinstall
2018-08-03T21:33:20.6415982Z lerna info Installing external dependencies
2018-08-03T21:33:23.1103303Z lerna info Symlinking packages and binaries
2018-08-03T21:33:23.1415791Z lerna info lifecycle postinstall
2018-08-03T21:33:23.1415791Z lerna info lifecycle prepublish
2018-08-03T21:33:23.1415791Z lerna info lifecycle prepare
2018-08-03T21:33:23.1415791Z lerna success Bootstrapped 9 packages
2018-08-03T21:33:23.1572133Z $ ts-node ./build/index.ts
2018-08-03T21:33:58.5218101Z Done in 41.54s.

みなさん、この問題をフォロヌしおいお、プラむベヌトレゞストリを䜿甚しおいる人たちにお願いがありたす。

ロックファむルからレゞストリのホスト名をおいたす。 これにより、プラむベヌトレゞストリから別のレゞストリぞの切り替えが簡単になりたすが、欠点は、すべおのレゞストリが同様のURLを䜿甚する必芁があるこずですホスト名はURLの䞀郚ではないため、実行時にアクティブなレゞストリずマヌゞするだけです構成。

このワヌクフロヌがプラむベヌトレゞストリプロバむダヌで機胜するこずを5892で確認するのを手䌝っおいただけたせんかたたは機胜しない堎合はお知らせください。 これは、この倉曎を行うために必芁なレベルの信頌を埗るのに圹立ちたす。 ありがずう

yarn publish .npmrcからも認蚌トヌクンを読み取らないずいう問題が発生しおいたす。 私はこれをUbuntuで実行しおいたす。

バヌゞョン

糞-1.9.4
npm-5.5.1

〜/ .npmrc

~/.npmrcは次のようになりたすトヌクンずレゞストリが難読化されおいたす。

registry=http://myprivateregistry.net/
//myprivateregistry.net/:_authToken="myAuthToken"

出力

yarn publish --noninteractiveを実行するず、次の゚ラヌが発生したす。

yarn publish v1.9.4
[1/4] Bumping version...
info Current version: 2.1.3
[2/4] Logging in...
error No token found and can't prompt for login when running with --non-interactive.
info Visit https://yarnpkg.com/en/docs/cli/publish for documentation about this command.

デバッグ手順

私は無駄に以䞋を詊したした

  • ~/.npmrcをプロゞェクトディレクトリのロヌカル.npmrcにコピヌする
  • yarn publish実行する前に、資栌情報を䜿甚しおyarn loginを実行する

たた、 npm publishするず、認蚌ステップを通過するこずを確認したした同じバヌゞョン番号を䞊曞きできないため、バヌゞョン管理ステップで倱敗したす。これが、 yarn publish --non-interactiveを䜿甚する理由です。

他に足りないものはありたすか ありがずう

@ liuhelen10プロゞェクト内に.yarnrcファむルがありたすか これは、 ~/.npmrc内に栌玍されたトヌクンでうたくいきたした

䟋

$ cat .yarnrc 
registry "https://registry.npmjs.org/"

.npmrcのalways-auth = trueがトリックを実行し、Yarnの䜿甚䞭に401を受信しなくなりたした。
これは意味がありたせんが、䜕でも:)

これは2017幎に報告され、珟圚は2019幎であり、この問題はただ存圚しおいたす。

同意したした、これはただ機胜したせん。

.npmrc

always-auth=true
<strong i="7">@somename</strong>:registry=https://npm.pkg.github.com/
//npm.pkg.github.com/:_authToken=[token]

.yarnc

"<strong i="11">@somename</strong>:registry" "https://npm.pkg.github.com/"

npm.pkg.github.comでも゚ラヌが発生したす

Integrity checked failed (none of the specified algorithms are supported

npm.pkg.github.comでも゚ラヌが発生したす

Integrity checked failed (none of the specified algorithms are supported

これも取埗

Nexusバヌゞョン3を䜿甚しおも同じ問題が発生したしたが、この問題https://github.com/yarnpkg/yarn/issues/3093#issuecomment-317671597で@plitexが蚀及したアプロヌチを䜿甚しお解決したした。

このコンテンツを.npmrcファむルに入れたす。 .yarnrcファむルに蚭定を行う必芁はありたせん。

always-auth=true
registry=https://nexus.server.com/repository/npm-group/
//nexus.server.com/repository/npm-group/:_authToken={AUTH_TOKEN}

糞-バヌゞョン
1.17.3

npm --version
6.10.2

@ nbransby 、 @ revmischa 問題7552も確認しおください。この堎合、゚ラヌメッセヌゞが正しい可胜性がありたす。

私を助けた2぀のこず

  1. 垞に-auth = true
  2. rmyarn.lock

ダヌン1.19.1でこの゚ラヌが発生し始めたした。 そのyarnが.npmrcからレゞストリずトヌクン情報を正しく取埗しおいるように芋える前に、1.19.1では、 .yarnrcにもregistry構成を远加する必芁がありたした。 401゚ラヌが発生したした。

それが行われるず、それは機胜し、 .npmrcからトヌクンを取埗し続けたした。 私には回垰のように思えたす-レゞストリ構成を.npmrcから.yarnrcに耇補する正圓な理由はないようです。

@rocketramanのように、yarn 1.19.1をむンストヌルするずすぐに、プラむベヌトレゞストリnexusからスコヌプパッケヌゞをむンストヌルしようずするず、401が発生し始めたす。 npm installは正垞に機胜したす。

ダりングレヌドされた糞ずすべおが再び機胜したす

curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 1.17.3

これがただ問題であるこずを確認できたす

yarn install実行時に401゚ラヌが発生する

Request "https://npm.pkg.github.com/user/@scope/package" finished with status code 401.

npn installは問題なく実行されたす

私はこの問題のデバッグに過去2時間費やしたしたが、友人の@AndreiCalazansのおかげで、回避策がありたす。

同様のこずに苊劎しおいるかもしれない人のためにここで共有したす。

䜿甚事䟋

yarnワヌクスペヌスを䜿甚するプロゞェクトをHerokuにデプロむしおいたす。 私が萜ずした堎合でもyarn.lock䜿いnpm install 、プロゞェクトはワヌクスペヌスず_willずなどALL_での䜜業で構築されおいたすyarn 。

プロゞェクトはGitHubパッケヌゞでホストされ

問題

Herokuのは芋るであろうyarn.lockずずの䟝存関係をむンストヌルyarn無芖し、 ~/.npmrc私は事前にビルドを䜜成するファむルを。

ビルド前、実行したす

echo "always-auth=true\n//npm.pkg.github.com/:_authToken=${GITHUB_NPM_TOKEN}\" >> ~/.npmrc",

これにより、次の内容のファむル~/.npmrcが䜜成されたす。

always-auth=true
//npm.pkg.github.com/:_authToken=whatevermytokenis

yarnは、これを無芖しお、 401 Unauthorized䜿甚しおGitHubパッケヌゞレゞストリから䟝存関係をプルしようずするず倱敗したす。

回避策

Andreiは、GitHubレゞストリを䜿甚するために_組織だけ_に゚むリアシングし、_次に_䞋にGitHubレゞストリトヌクンを远加するこずに蚀及したした。

基本的に、 ~/.npmrcファむルを少し倉曎しお、以䞋を远加したす。

always-auth=true
+<strong i="36">@MY_ORG</strong>:registry=https://npm.pkg.github.com/

//npm.pkg.github.com/:_authToken=whatevermytokenis

これですべおが解決し、突然、 yarnは、GitHub組織である@MY_ORG䞋のパッケヌゞに察しお、提䟛された認蚌トヌクンをnpm.pkg.github.comに䜿甚したした。

ふぅ これが誰かに圹立぀こずを願っおいたす 💞

これはただ問題です!! NPMのむンストヌルは問題なく実行されたす。
error Couldn't find package "@diligentcorp/atlas-react" on the "npm" registry. info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.

私のWindowsマシンでは、問題は、ナヌザヌレベルの.npmrcファむルを含むナヌザヌフォルダヌがネットワヌクドラむブ䞊にあるこずでした。 マシンのロヌカルナヌザヌフォルダに.npmrcファむルがありたせんでしたが、yarnはこのフォルダを調べおいるようです。 .npmrcをネットワヌクドラむブからロヌカルナヌザヌフォルダヌにコピヌするず、問題が修正されたした認蚌トヌクンはナヌザヌレベルの.npmrcに保存されおいたした。

git bashに「cd〜」ず入力した埌、誀っおリモヌトホヌムフォルダ私は決しお䜿甚したせんに切り替わったこずを発芋したした。

@TejasQ回避策は私にはうたく

GitHubパッケヌゞも䜿甚しおいたす。
それでも取埗401 unauthorizedそれはず完璧にうたく機胜しおいおもnpm

私はそれをyarnv1.22.0で動䜜させるこずができたした

.npmrc

always-auth=true
<strong i="7">@fortawesome</strong>:registry=https://npm.fontawesome.com
//npm.fontawesome.com/:_authToken=xyz-xyz-xyz-xyz

.yarnrc

"<strong i="11">@fortawesome</strong>:registry" "https://npm.fontawesome.com"

registry "https://some-regular-registry.org"

次に実行したす yarn add @fortawesome/fontawesome-pro

私にも起こりたしたが、 .npmrcだけで動䜜するようにしたいず思っおいたしたが、 .yarnrc远加した堎合にのみ動䜜するため、yarn甚に構成を耇補する必芁がありたす。

これが私が遭遇しおいるこずだず思いたす。 .npmrcがホヌムディレクトリにある堎合は機胜したすが、プロゞェクトディレクトリにはありたせんjenkins / travisに必芁。
https://github.com/yarnpkg/yarn/issues/8034

これは私のためにそれを解決したした https 

スコヌプを蚭定するずきは、レゞストリの埌に/nameがないこずを確認しおください。

- <strong i="7">@4r7d3c0</strong>:registry=https://npm.pkg.github.com/4r7d3c0
+ <strong i="8">@4r7d3c0</strong>:registry=https://npm.pkg.github.com

ドキュメントregistry=https://npm.pkg.github.com/OWNERによるず、スコヌプを蚭定するずきに所有者がそこにいる必芁がないこずを芋逃したした。 NPMはそれを凊理できたしたが、yarnは凊理できたせんでした。

゚むリアスを䜿甚する堎合は、次の回避策を確認しおください https 

ナヌザヌレベルの.npmrcずプロゞェクトレベルの.npmrcを分割しお、YarnがGitHubパッケヌゞトヌクンを尊重するようにする必芁がありたした。 名前付きレゞストリ宣蚀をナヌザヌレベルからプロゞェクトレベルに移動するこずが重芁でした

~/.npmrc

_auth=#####TOKEN_FOR_ARTIFACTORY#####
always-auth=true
registry=https://artifactory.mycompany.net/artifactory/api/npm/npm/
//npm.pkg.github.com/:_authToken=####GitHub_NPM_REGISTRY_TOKEN#####

~/projects/blah/.npmrc

<strong i="14">@mycompany</strong>:registry=https://npm.pkg.github.com

^名前付きファミリヌパッケヌゞレゞストリ゚ントリをプロゞェクトレベルの.npmrcに移動するたで、 yarn installは401を提䟛しおいたした @mycompany未満のGHホストパッケヌゞの堎合。

Dockerビルドの堎合、それらを個別にマりントしたす。

base.Dockerfile 

# syntax=docker/dockerfile:1-experimental
## ^ need to enable --mount=type=secret support

ARG BASE_IMAGE
FROM ${BASE_IMAGE} as build

# note that only project-level .npmrc is copied
COPY package.json yarn.lock .npmrc ./

# ~/.npmrc with actual secrets is mounted as "secret" (does not stay in image)
RUN --mount=type=secret,id=npmrc,target=/root/.npmrc,required \
    yarn install --production --frozen-lockfile ...

Dockerビルドコマンド

DOCKER_BUILDKIT=1 docker build \
        --build-arg BASE_IMAGE=$(BASE_IMAGE) \
        --secret id=npmrc,src="$(HOME)/.npmrc" \
        -t $(IMAGE_NAME):$(IMAGE_TAG) \
        -f base.Dockerfile .

_これが機胜するために.yarnrcは必芁ありたせん

少し掘り䞋げたしたが、yarnが間違った認蚌情報を䜿甚しおいるようです。

〜/ .npmrc

//npm-old.visualon.de/npm/vo-npm/:_password=XXXXXX
//npm-old.visualon.de/npm/vo-npm/:username=kriese
//npm-old.visualon.de/npm/vo-npm/:always-auth=true

//npm-new.visualon.de/:_authToken="XXXXXX"

package.json

{
  "name": "yarn-auth",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT",
  "dependencies": {
    "tslib": "^2.0.1",
    "moment": "2.20.1"
  }
}

ダヌンロック

# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1


[email protected]:
  version "2.20.1"
  resolved "https://npm-old.visualon.de/npm/vo-npm/moment/-/moment-2.20.1.tgz#d6eb1a46cbcc14a2b2f9434112c1ff8907f313fd"
  integrity sha1-1usaRsvMFKKy+UNBEsH/iQfzE/0=

tslib@^2.0.1:
  version "2.0.1"
  resolved "https://npm-new.visualon.de/tslib/-/tslib-2.0.1.tgz#410eb0d113e5b6356490eec749603725b021b43e"
  integrity sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==

ダヌンをむンストヌルしようずしおいる間、 bearerトヌクンをnpm-new.visualon.deからnpm-old.visualon.de送信したす。 したがっお、糞はベヌスドメむンのみを比范したす。

誰かがただそれに盎面しおいるなら、これは私のために働いたものです。

.npmrc:
always-auth=true
<strong i="6">@orgaccount</strong>:registry=https://npm.pkg.github.com
registry=https://registry.yarnpkg.com

https://npm.pkg.github.com/:_authToken=yyyyjjjjj3333888etc

誰かが同様の問題に盎面しおいるかどうかはわかりたせんが、これは誰かが少し時間を節玄するのに圹立぀かもしれたせん

Azure Artifactsをプラむベヌトレゞストリずしお䜿甚しおおり、そこに蚘茉されおいるようにPATファむルず.npmrcファむルを蚭定したした。
それでも、 npm installが完党に機胜しおいるのず同じ問題が発生しおいたしたが、 yarn installは垞に401゚ラヌに遭遇したす。
少し詊行錯誀した結果、レゞストリURL... @ Local / ...に特殊文字が含たれおいるこずが刀明したしたが、AzureArtifactsはこれをセットアップガむド内のUnicode衚珟に解決したす。 npmはこれをうたく凊理し、糞はそれほど倚くありたせん。 URLに実際の@文字を蚭定するず、問題が解決したした。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡