web-dev-qa-db-fra.com

L'installation d'un package privé à partir du registre de packages Github à l'aide de Yarn échoue sans autorisation

Cette question est liée à ceux-ci. Mais aucune des solutions n'a fonctionné pour moi.

Je peux installer un package sans problème avec npm install @scope/package cependant je ne peux pas faire la même chose avec du fil: yarn add @scope/package

yarn renvoie l'erreur suivante: An unexpected error occurred: "https://npm.pkg.github.com/download/@scope/package/1.2.8/089b08cffb16074c210ec3a59b04de268ae1c7b3a0492dce110adee3ada05bdd: Request failed \"401 Unauthorized\"".

mon fichier .npmrc ressemble à ceci: (essayé avec et sans ci-dessous .yarnrc)

registry=https://registry.npmjs.org/
//npm.pkg.github.com/:_authToken=MY_AUTHTOKEN
@scope:registry=https://npm.pkg.github.com/

J'ai essayé d'ajouter ce fichier .yarnrc:

registry "https://registry.npmjs.org"
"@scope:registry" "https://npm.pkg.github.com"

(sans .yarnrc) J'ai essayé ce fichier .npmrc

registry=https://registry.yarnpkg.com/

@scope:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=MY_AUTHTOKEN
always-auth=true

MY_AUTHTOKEN est mon Personal Access Token J'ai généré à partir de Github. (il a accès à tout dans les packages)

J'ai essayé de:

  • supprimer yarn.lock
  • supprimer .yarnrc
  • connectez-vous avec npm login en utilisant mon PAT comme mot de passe
  • déconnexion de npm et suppression des .npmrc et .yarnrc globaux
  • connexion avec yarn login

En cas de confusion, je n'essaye pas réellement @scope et/package, mais ma portée réelle et le nom du package.

J'ai accès à la portée et au package sur Github.

et encore une fois ma première configuration fonctionne très bien avec npm. Mais je ne peux pas faire fonctionner cela avec du fil, et je ne peux pas trouver de solution existante valide sur SO.

5
MLyck

Il vous suffit d'utiliser . Npmrc à la racine de votre projet avec ce contenu:

//npm.pkg.github.com/:_authToken=GITHUB_PERSONAL_TOKEN
@OWNER:registry=https://npm.pkg.github.com

Gardez à l'esprit que GITHUB_PERSONAL_TOKEN needs read: packages scope permissions afin de lire les packages à partir de votre dépôt privé.

0