Ecco spiegato il perché dell'errore di autorizzazione negata nel Terminale di macOS e come è possibile risolvere il problema…
Se stai tentando di aprire un file o una cartella nel Terminale di macOS o lanci un comando ma viene mostrato il messaggio "zsh: permission denied o "zsh: command not found", in questa guida ti fornirò una serie di possibili soluzioni per tentare di risolvere il problema.
Prima di procedere però, cerchiamo di capire perché accade. In sostanza, si tratta di un errore di autorizzazione che impedisce di aprire un file utilizzando i comandi sudo o bash. Nella gran parte dei casi si presenta quando si tenta di lanciare un file di installazione da Terminale.
Esistono diverse ragioni per cui l'errore zsh permission denied viene generato, le più comuni sono quando viene eseguito un comando errato o quando si tenta di installare un programma o modificare un file di cui non si dispongono i privilegi di amministratore.
Correggere l'errore "zsh: Permission Denied" su Mac
- Passo 1: verifica delle tue autorizzazioni
Avvia il Terminale da "Applicazioni > Utility > Terminale" e digita o copia/incolla il comando "ls -l" lasciando uno spazio alla fine e senza premere invio.
Trascina il file che vuoi aprire nel Terminale per aggiungere la posizione del file al comando inserito e premi Invio.
Attraverso questa operazione potrai verificare se hai il permesso di scrivere o modificare il file. - Passo 2: modifica della proprietà della directory
Inserisci o copia incolla il comando "chown -R $USER:$USER /path/to/directory" nel Terminale cambiando però "$USER" col nome utente e "/path/to/directory" con il percorso che vuoi modificare. Fatto ciò premi il tasto Invio. - Passo 3: concedere al Terminale l'accesso completo al disco.
Vai su "Preferenze di Sistema > Sicurezza e Privacy > Privacy", seleziona dalla colonna di sinistra la voce "Accesso completo al disco" e metti il segno di spunta su "Terminale". - Passo 4: utilizzare il comando sudo
Sudo è un comando molto potente che potrebbe permetterti di eseguire gran parte dei comandi da Terminale. Nel caso di problemi con l'autorizzazione negata, puoi semplicemente scrivere "sudo" prima del comando da eseguire (ad esempio: "sudo chmod 755 /dvtcolorconvert.rb"), inserisci la password qualora ti venga richiesta.
Se hai seguito questa guida passo passo dovresti aver risolto l'errore "zsh: Permission Denied", se così non fosse puoi provare a utilizzare l'applicazione "Oh My Zsh", un framework open source che può essere utilizzato per gestire le configurazioni Zsh su macOS e Linux.