Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln innehåller lösningar på vanliga problem som kan uppstå när du använder Azure Developer CLI (azd).
Få hjälp och ge feedback
Om du inte hittar det du letar efter i den här artikeln eller om du vill ge feedback kan du skicka frågor till Azure Developer CLI-diskussioner.
Du kan också rapportera buggar genom att öppna GitHub-problem på Azure Developer CLI GitHub-lagringsplatsen.
Använda växeln --debug
Om du stöter på ett oväntat problem när du arbetar med azdkör du kommandot igen med växeln --debug för att aktivera fler felsöknings- och diagnostikutdata.
azd up --debug
Du kan också skicka felsökningsutdata till en lokal textfil för bättre användbarhet. Med den här metoden kan andra övervakningssystem mata in felsökningen och kan också vara användbara när du skickar in ett problem på GitHub.
Viktigt!
Se till att redigera känslig information när du skickar felsökningsloggar på GitHub eller sparar dem i andra diagnostiksystem.
azd deploy --debug > "<your-file-path>.txt"
Katalogen .azure
Azure Developer CLI förutsätter att alla kataloger som lagras i .azure katalogen är Azure Developer CLI-miljöer. Kör inte Azure Developer CLI-kommandon från hemkatalogen för en användare som har Azure CLI installerat.
Inte inloggad i Azure eller token har upphört att gälla i Visual Studio
När du har kört azd init -t <template-name> i Visual Studio får du följande fel: "Om du vill komma åt fjärrlagringsplatsen måste du auktorisera OAuth-programmet Visual Studioigen."
Lösning
Kör azd auth login för att uppdatera åtkomsttoken.
Uppdaterade Azure-kontobehörigheter uppdateras inte i azd
Som standard azd cachelagrar dina autentiseringsuppgifter och behörigheter för Azure. Om ditt Azure-konto tilldelas nya roller och behörigheter, eller läggs till i fler prenumerationer, kanske dessa ändringar inte återspeglas omedelbart i azd. Lös problemet genom att logga ut och sedan logga in igen med azd hjälp av följande kommandon:
azd auth logout
azd auth login
Följ anvisningarna från azd auth login kommandot för att slutföra inloggningsprocessen och uppdatera dina cachelagrade autentiseringsuppgifter.
Cloud Shell-begränsningar för azd
Det finns vissa begränsningar för att köra azd i Cloud Shell:
Docker-stöd i Cloud Shell
Cloud Shell stöder inte körning av docker build eller run kommandon eftersom docker-daemonen inte körs. Mer information finns i Cloud Shell-felsökning.
Tidsgräns för Cloud Shell
Cloud Shell kan gå ut på tid under en lång distribution eller implementation eller andra tidskrävande uppgifter. Kontrollera att sessionen inte blir inaktiv. Se Användningsgränser för Cloud Shell.
Cloud Shell-gränssnitt
Cloud Shell är främst ett kommandoradsgränssnitt och har färre funktioner än en integrerad utvecklingsmiljö som Visual Studio Code.
Det går inte att ansluta till Docker-daemonen i Cloud Shell
Cloud Shell använder en container som värd för din gränssnittsmiljö, så uppgifter som kräver att docker-daemon körs tillåts inte.
Installera en annan version av azd i Cloud Shell
I vissa fall kan det vara nödvändigt att installera en annan version av azd än den version som redan används i Cloud Shell. Så här gör du i bash:
- Kör mkdir -p ~/binför att se till att~/binmappen finns
- Kör mkdir -p ~/azdför att säkerställa att en lokal~/azdmapp finns
- Kör curl -fsSL https://aka.ms/install-azd.sh | bash -s -- --install-folder ~/azd --symlink-folder ~/bin --version <version>(<version>skulle varastablesom standard men en specifik version som1.0.0kan också anges).
När den har installerats har den version av azd som är symboliskt länkad i ~/bin företräde framför den version av azd som är symboliskt länkad i /usr/local/bin.
Så här återgår du till att använda den version av azd som redan har installerats på Cloud Shell i bash:
- Kör rm ~/bin/azd
- Kör rm -rf ~/azd
Lösning
Använd en annan värd för att utföra uppgifter som kräver docker-daemon. Ett alternativ är att använda docker-machine enligt beskrivningen i dokumentationen för Cloud Shell-felsökning .
Azure Bicep CLI-krav
              azd up och azd provision kräver den senaste versionen av Azure Bicep CLI. Du kan få följande felmeddelande: "Fel: det gick inte att kompilera bicep-mallen: Det gick inte att köra Az PowerShell-modulen bicep build: exit code: 1, stdout: , stderr: WARNING: En ny Bicep-version är tillgänglig: v0.4.1272."
Lösning
Tidigare var Bicep en förutsättning för att installera och använda azd . 
              azd installerar nu automatiskt Bicep inom det lokala azd omfånget (inte globalt) och det här problemet bör nu lösas. Men om du vill använda en annan version kan du ange miljövariabeln: AZD_BICEP_TOOL_PATH så att den pekar på platsen för den version du behöver.
              azd up eller azd provision misslyckas
Saker kan ibland gå snett med azd up eller azd provision. Vanliga fel är:
- "Det går inte att etablera vissa resurser i en Azure-region eftersom regionen har slut på kapacitet."
- "Relevant resursprovider finns inte i den regionen."
Felsökningsstegen kan variera beroende på grundorsaken.
Lösning
- Gå till Azure-portalen. 
- Hitta din resursgrupp, som är rg-<din-miljö-namn>. 
- Välj Distributioner för att få mer information. 
- Kontrollera att det miljönamn du har angett är korrekt och matchar ditt miljönamn. 
- Gå till fliken Åtgärder på den berörda GitHub-lagringsplatsen och undersök loggfilen i pipelinekörningen för mer information. 
Andra resurser finns i Felsöka vanliga Azure-distributionsfel – Azure Resource Manager-.
              azd init Kräver sudo
Före azd version = azure-dev-cli_0.2.0-beta.1 skulle azd skapa en .azd mapp med drw-r--r-- åtkomst.
Detta orsakar ett problem, eftersom användning av den här eller någon tidigare version på alla Linux-konfigurationer (WSL, ssh-remote, devcontainer osv.) redan tillhandahåller en .azd mapp med skrivskyddat läge.
Lösning
- Ta bort den redan angivna - .azdmappen manuellt:- rm -r ~/.azd
- Kör - azd initför- azdatt skapa mappen igen med rätt åtkomstnivåer.
              azd monitor för utvecklingscontainer
              azd monitor stöds för närvarande inte om du använder en utvecklingscontainer som utvecklingsmiljö.
Det går inte att autentisera i Codespaces-miljöer
Om du har autentiseringsproblem i Codespaces kontrollerar du att dockerfile-mallen innehåller sudo apt-get update && sudo apt-get install xdg-utils kommandona. Kommandot xdg-utils öppnar en webbläsarflik som gör att du kan logga in.
Static Web Apps misslyckas med att distribueras trots meddelande om framgång
Ett känt problem uppstår när man distribuerar till Azure Static Web Apps där standardutdata för azd up kan ange att åtgärden lyckades, men ändringarna blev faktiskt inte distribuerade. Du kan diagnostisera det här problemet genom att azd up köra kommandot med --debug flaggan aktiverad. I utdataloggarna kan följande meddelande visas:
Preparing deployment. Please wait...
An unknown exception has occurred
Det är troligt att du kommer att stöta på det här problemet när azd körs från en GitHub-åtgärd. Som en lösning kopierar staticwebapp.config.json du till byggmappen när du har skapat din webbplats. Du kan automatisera det här steget genom att använda en förpaketerings- eller fördistribueringskommandokrok, som gör att du kan köra anpassade skript på olika platser i azd-kommandoarbetsflödena.
Produktteamet arbetar med att lösa det här problemet.
Fel i GitHub Actions – "Har inte behörighet att hämta hemligheter från nyckelvalv"
Om du delar samma miljö eller resursgruppsnamn när du etablerar resurser lokalt och i GitHub Actions kan felet Does not have secrets get permission on key vault.. uppstå från Key Vault-tjänsten. Key Vault stöder inte inkrementella behörighetsuppdateringar via Bicep, vilket i praktiken innebär att GitHub Actions-arbetsflödet skriver över behörigheterna för åtkomstprincip för den lokala användaren.
Den rekommenderade lösningen på det här problemet är att använda separata miljönamn för lokal utveckling och GitHub Actions-arbetsflöden. Läs mer om hur du använder flera miljöer med azd env kommandot på sidan Vanliga frågor och svar.
Stöd för textbaserade webbläsare
Textbaserade webbläsare stöds för närvarande inte av azd monitor.
              azd pipeline config använda AzDo för Java-mallar i Windows
Du kan stöta på ett fel när du kör azd pipeline config med AzDo för Java-mallar i Windows. Du har till exempel:
- Kör följande i Windows: - azd init --template Azure-Samples/todo-java-mongo azd pipeline config
- Följande fel har mottagits:   
Lösning
Det här är ett känt problem. Försök med följande kommando när vi åtgärdar det här problemet:
git update-index --chmod=+x src/api/mvnw && git commit -m "Fix executable bit permissions" && git push
              failed packaging service 'api': failed invoking action 'package', failed to run NPM script build, signal: segmentation fault problem efter uppgradering azd på Apple Silicon (M1/M2)
I vissa fall kan uppgradering från den x86_64 versionen av azd till en ARM64-binär fil resultera i fel för mallar som har skapats med den x86_64 versionen av azd. Det beror på att mallen använder en version som v8-compile-cache kan försöka läsa in bytekod som skapats under x86_64 till en ARM64-process.
Åtgärda problemet genom att v8-compile-cache uppgradera paketet i det berörda projektet:
- Ändra katalog till den tjänst som misslyckades (src/apiom det gällerfailed packaging service 'api')
- Kör npm upgrade v8-compile-cache
- Ändra katalogen till lagringsplatsens rot och kör azdkommandot (t.ex.azd packageellerazd up) igen
              azd pipeline config fel på grund av villkorsstyrd åtkomstpolicy
När du kör azd pipeline configkan du få ett felmeddelande som liknar följande:
ERROR: failed to create or update service principal: failed retrieving application list, failed executing request: http call(https://login.microsoftonline.com/common/oauth2/v2.0/token)(POST) error: reply status code was 400:
{"error":"invalid_grant","error_description":"AADSTS50005: User tried to log in to a device from a platform (Unknown) that's currently not supported through Conditional Access policy. Supported device platforms are: iOS, Android, Mac, and Windows flavors.\r\nTrace ID: 0000aaaa-11bb-cccc-dd22-eeeeee333333\r\nCorrelation ID: aaaa0000-bb11-2222-33cc-444444dddddd\r\nTimestamp: 2022-12-16 21:10:37Z","error_codes":[50005],"timestamp":"2022-12-16 21:10:37Z","trace_id":"0000aaaa-11bb-cccc-dd22-eeeeee333333","correlation_id":"aaaa0000-bb11-2222-33cc-444444dddddd"}
Det här felet gäller aktivering av principer för villkorsstyrd åtkomst i Microsoft Entra-klientorganisationen. Den specifika principen kräver att du är inloggad på en enhetsplattform som stöds.
Du kan också få det här felet på grund av att du har loggat in med hjälp av mekanismen för enhetskod, vilket hindrar Microsoft Entra-ID från att identifiera din enhetsplattform korrekt.
Lösning
För att konfigurera arbetsflödet måste du ge GitHub behörighet att distribuera till Azure för din räkning. Auktorisera GitHub genom att skapa ett Azure Service Principal som lagras i en GitHub-hemlighet med namnet AZURE_CREDENTIALS. Välj din Codespace-värd för följande steg:
- Kontrollera att du kör på en enhet som anges som stöds enligt felmeddelandet. 
- azd auth loginKör igen med flaggan- --use-device-code=falsebifogad:- azd auth login --use-device-code=false
- Du kan få ett fel med meddelandet - localhost refused to connectefter att du har loggat in. I såfall:- Kopiera URL.
- Kör curl '<pasted url>'(URL med citattecken) i en ny Codespaces-terminal.
 - I den ursprungliga terminalen ska inloggningen nu lyckas. 
- När du har loggat in, kör du - azd pipeline configigen.
Cachelagrad Dockerfile används i stället för aktuell Dockerfile
När du använder azd i din lokala utvecklingsmiljö med Docker kan Docker använda den cachelagrade versionen av Dockerfile i stället för den aktuella versionen. Detta resulterar i distributionen med hjälp av en container med felaktig information.
Lösning
Om du vill konfigurera din lokala Docker-installation, som används av Azure Developer CLI för att skapa containern, måste du konfigurera Docker med följande miljövariabler:
DOCKER_BUILDKIT=1
DOCKER_BUILD_ARGS="--no-cache"
Du kan ändra dina azd up så att de inkluderar följande inställningar:
DOCKER_BUILDKIT=1 DOCKER_BUILD_ARGS="--no-cache" azd up
              azd pipeline config stöd
              azd pipeline config stöds för närvarande inte i DevContainers/VS Code Remote Containers.
Kompositionsfunktionsfel
Skrivfunktionen azd är endast tillgänglig för specifika projekttyper. Om du försöker använda skrivkommandon som azd add eller azd infra gen i en kontext som inte stöds kan du stöta på följande fel.
Inkompatibelt projekt
Om du ser ett ERROR: incompatible project meddelande när du kör azd add kommandot kontrollerar du vilken typ av projekt du arbetar med. Kommandot azd add stöds inte för .NET Aspire-projekt eller för azd mallar som redan har en infra mapp definierad. Försök att använda azd add med dessa projekttyper resulterar i fel som:
- FEL: Inkompatibelt projekt: Hittade Aspire-appvärd 
- FEL: Inkompatibelt projekt: hittade infra-katalogen och azure.yaml utan resurser     
Projektet innehåller inte infrastruktur för att generera
Felet ERROR: this project does not contain any infrastructure to generate uppstår när:
- Du kör azd infra genutan några compose-resurser definierade i ditt projekt.
- I .NET Aspire-projekt kan det här felet också visas om azddet inte går att identifiera en Aspire App Host i den aktuella katalogen.
Lös det här felet genom att lägga azd add till nya resurser innan du kör azd infra gen eller se till att .NET Aspire-projektet är korrekt strukturerat.
              
               
              
              
            
Fel vid lösning av Azure-resurs
Kommandot azd show <name> kan ge upphov till felet: ERROR: resolving '<name>': AZURE_RESOURCE_<NAME>_ID is not set as an output variable. Detta kan inträffa av flera orsaker:
- Resursen <name>finns inte underazure.yamlresurserna: noden.
- Resursen <name>har inte provisionerats än.
              
               
              
              
            
Lösning
Kör azd up för att tillhandahålla resurserna. Du kan behöva köra azd infra gen först för att generera den uppdaterade Bicep inklusive resursen <name>och sedan köra azd up.
Stöd för realtidsmått för Python
Live Metrics (azd monitor --live) stöds för närvarande inte för Python-appar. Mer information finns i Live Metrics: Övervaka och diagnostisera med en sekunds svarstid.
Skapa ett GitHub-problem för att begära hjälp
              
               
              
              
            
Azure Developer CLI och Azure Developer CLI Visual Studio Code-tillägget använder GitHub-problem för att spåra buggar och funktionsbegäranden. Sök igenom de befintliga problemen innan du skickar in nya problem för att undvika dubbletter.
Om du vill ha hjälp och frågor om hur du använder det här projektet kan du titta på vår wiki för att använda Azure Developer CLI och vårt CONTRIBUTEING-dokument om du vill bidra.