web-dev-qa-db-ja.com

Github Packageレジストリからプライベートパッケージをインストールすると、見つからない/認証されないために失敗する

プライベートGithubパッケージを作成して公開しました。最初に糸でそれをインストールしようとすると、私は次の問題に直面します:

糸でもnpmでも、Github( https://help.github.com/en/github/managing-packages-with-github- package-registry/configuring-npm-for-use-with-github-package-registry )。

私の.yarnrc

registry "https://npm.pkg.github.com/OWNER"

ヤーンを使用すると、上で入力したレジストリではなく、https://registry.yarnpkg.com/@GITHUB_USERNAMEでパッケージを探し続けます。

備考:.yarnrcのレジストリは、少し異なる構文に従って追加する必要があります:

registry "https://npm.pkg.github.com/"

これまでのところ、.npmrc.yarnrcの構成を組み合わせて試してみましたが、うまくいきませんでした。

-

EDIT(部分的に解決)

私は実際にパッケージにアクセスする方法を見つけました。npmまたは-私の場合は-糸を使用しています。 Request failed \"401 Unauthorized\"の上に認証情報を追加しましたが、今は.yarnrcエラーの問題に直面しています。

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

.npmrcで同じことを行うこともできません。

3
Alexei S.

あなたがする必要があるのは、あなたの.npmrcに次のようなものを使って、各パッケージをどこに取得するかを指定することです(私は糸の構文を知りませんが、それは.npmrcを読むとき、yarnで動作します):

//registry.npmjs.org/:_authToken=<token-npm-read>
//npm.pkg.github.com/:_authToken=<token-github-package-read>
@foo:registry=https://npm.pkg.github.com
@far:registry=https://registry.npmjs.org

次に、YarnはGithubで@ foo/mypackage1を検索し、@ far/mypackage2はnpmjsで検索されます。デフォルトのレジストリは、設定したものは何でも、他の人のために保持されます。

1
Romain Prévost