Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Med Azure Artifacts kan utvecklare hantera sina paket från olika källor, inklusive både offentliga register som npmjs.com och privata feeds. Om du vill autentisera med Azure Artifacts måste du konfigurera konfigurationsfilen npm. Den här filen innehåller feed-URL:er och autentiseringsuppgifter som används av npm och erbjuder alternativ för att anpassa npm-klientbeteendet, till exempel konfigurera proxyservrar, definiera standardpaketplatser eller konfigurera privata paketfeeds. Den npmrc- filen finns vanligtvis i användarens hemkatalog men kan också skapas på projektnivå för att åsidosätta standardinställningarna.
Azure Artifacts rekommenderar att du använder två separata konfigurationsfiler. Den första är dedikerad till att autentisera med Azure Artifacts, medan den andra ska sparas lokalt för att lagra dina autentiseringsuppgifter. Med den här metoden kan du dela konfigurationsfilen samtidigt som du håller dina autentiseringsuppgifter säkra.
Om du vill konfigurera den andra filen placerar du den i din hemkatalog på utvecklingsdatorn och tar med alla dina registerautentiseringsuppgifter. På så sätt kan npm-klienten enkelt komma åt dina autentiseringsuppgifter för autentisering.
Följande steg vägleder dig genom att konfigurera den första konfigurationsfilen. Välj fliken som motsvarar din utvecklingsmiljö:
Logga in på din Azure DevOps-organisation och navigera sedan till projektet.
Välj Artefakteroch välj sedan Anslut till feed.
Välj npm i det vänstra sidofältet. Om det är första gången du använder Azure Artifacts med npm kontrollerar du att du har installerat förutsättningarna.
Följ anvisningarna i avsnittet projektskonfiguration för att ansluta till flödet.
Lägg till en .npmrc- fil i projektets katalog i samma katalog som din package.json-fil och klistra in följande kodfragment i den.
Kopiera följande kodfragment och klistra in det i npmrc--fil på användarnivå:
Organisationsspecifikt flöde:
; begin auth token
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/npm/registry/:username=[ENTER_ANY_VALUE_BUT_NOT_AN_EMPTY_STRING]
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/npm/registry/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/npm/registry/:email=npm requires email to be set but doesn't use the value
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/npm/:username=[ANY_VALUE_BUT_NOT_AN_EMPTY_STRING]
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/npm/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/npm/:email=npm requires email to be set but doesn't use the value
; end auth token
projektspecifik feed:
; begin auth token
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/:username=[ENTER_ANY_VALUE_BUT_NOT_AN_EMPTY_STRING]
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/:email=npm requires email to be set but doesn't use the value
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/:username=[ENTER_ANY_VALUE_BUT_NOT_AN_EMPTY_STRING]
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/:email=npm requires email to be set but doesn't use the value
; end auth token
Kör följande kommando i ett kommandotolkfönster och klistra sedan in din personliga åtkomsttoken när du uppmanas att göra det. När du är klar kopierar du det genererade Base 64-kodade värdet.
Om du använder Linux/Mac kan du också använda följande kommando för att konvertera din personliga åtkomsttoken till Base 64. Kopiera det resulterande Base64-kodade värdet.
echo -n "YOUR_PERSONAL_ACCESS-TOKEN" | base64
Ersätt platshållarna [BASE64_ENCODED_PERSONAL_ACCESS_TOKEN] i din .npmrc-fil med den kodade personliga åtkomsttoken som hämtades från föregående steg.
Kopiera följande kodfragment och klistra in det i .npmrc--fil på användarnivå:
Samlingsbegränsat flöde:
; begin auth token
//<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/npm/registry/:username=DefaultCollection
//<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/npm/registry/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/npm/registry/:email=npm requires email to be set but doesn't use the value
//<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/npm/:username=DefaultCollection
//<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/npm/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/npm/:email=npm requires email to be set but doesn't use the value
; end auth token
projektspecifik feed:
; begin auth token
//<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/:username=[ENTER_ANY_VALUE_BUT_NOT_AN_EMPTY_STRING]
//<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/:email=npm requires email to be set but doesn't use the value
//<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/:username=[ENTER_ANY_VALUE_BUT_NOT_AN_EMPTY_STRING]
//<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/:email=npm requires email to be set but doesn't use the value
; end auth token
Kör följande kommando i ett kommandotolkfönster och klistra sedan in din personliga åtkomsttoken när du uppmanas att göra det. När du är klar kopierar du det genererade Base 64-kodade värdet.
Kopiera följande kodfragment och klistra in det i .npmrc--fil på användarnivå:
Samlingsbegränsat flöde:
; begin auth token
//<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/npm/registry/:username=DefaultCollection
//<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/npm/registry/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/npm/registry/:email=npm requires email to be set but doesn't use the value
//<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/npm/:username=DefaultCollection
//<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/npm/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/npm/:email=npm requires email to be set but doesn't use the value
; end auth token
projektspecifik feed:
; begin auth token
//<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/:username=[ENTER_ANY_VALUE_BUT_NOT_AN_EMPTY_STRING]
//<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/:email=npm requires email to be set but doesn't use the value
//<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/:username=[ENTER_ANY_VALUE_BUT_NOT_AN_EMPTY_STRING]
//<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/:email=npm requires email to be set but doesn't use the value
; end auth token
Kör följande kommando i ett kommandotolkfönster och klistra sedan in din personliga åtkomsttoken när du uppmanas att göra det. När du är klar kopierar du det genererade Base 64-kodade värdet.
Det här felet anger att mappen npm-moduler inte har lagts till i sökvägen. Kör konfigurationen av Node.js igen och välj alternativet Add to PATH. Du kan också lägga till mappen npm-moduler i sökvägen genom att ändra PATH-variabeln till %APPDATA%\npm i Kommandotolken eller $env:APPDATA\npm i PowerShell.
Det går inte att autentisera
Fel: kod E401 npm ERR! Det går inte att autentisera: –> Kör kommandot vsts-npm-auth med flaggan -F för att autentisera igen:
vsts-npm-auth -config .npmrc -F
Återställ vsts-npm-auth
Följ dessa steg för att återställa dina vsts-npm-auth-autentiseringsuppgifter:
Om du stöter på ett 403-fel kan det tyda på en namnkonflikt. I Azure Artifacts är paket oföränderliga, vilket innebär att versionsnumret är permanent reserverat när du publicerar ett paket i flödet. Även om du tar bort det kan du inte publicera ett nytt paket med samma versionsnummer. Åtgärda problemet genom att uppdatera paketversionen i package.json-filen och sedan försöka igen.