Come correggere l'errore: nodemon.ps1 non può essere caricato perché l'esecuzione di script è disabilitata su questo sistema (senza rischi per la sicurezza)?
Errore sul terminale: nodemon.ps1 non può essere caricato perché l'esecuzione di script è disabilitata su questo sistema. Per ulteriori informazioni, vedere about_Execution_Policies su https: /go.microsoft.com/fwlink/? LinkID = 135170.
Ho una soluzione per risolvere il problema in questo modo
- Apri Windows PowerShell con Esegui come amministratore
- Esegui questo comando: Set-ExecutionPolicy Unrestricted
Questo risolve il problema, ma in questo modo il sistema mostra un avviso di rischio per la sicurezza. La mia domanda: esiste un altro modo per risolvere questo problema senza rischi per la sicurezza? L'obiettivo è utilizzare nodemon.
Risposte
Consiglierei di utilizzare RemoteSigned
al contrario Unrestricted
e limitare la politica all'utente corrente, se possibile.
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
RemoteSigned : "Il criterio di esecuzione predefinito per i computer server Windows."
Oltre a questo, non me ne preoccuperei troppo, poiché non è inteso come meccanismo di sicurezza. Vedi questa citazione dai documenti:
"Il criterio di esecuzione non è un sistema di sicurezza che limita le azioni degli utenti. Ad esempio, gli utenti possono facilmente aggirare un criterio digitando il contenuto dello script nella riga di comando quando non possono eseguire uno script. Invece, il criterio di esecuzione aiuta gli utenti a impostare regole e impedisce loro di violarle involontariamente ".
Non vi è alcun rischio per la sicurezza associato alla possibilità di eseguire script firmati remoti sul computer locale. Fondamentalmente significa che puoi eseguire script locali non firmati, cioè script scritti da te mentre gli script da una fonte remota (nodemon in questo caso) devono essere firmati da un'autorità fidata.
PS: se sei su Windows, puoi semplicemente andare su impostazioni >> aggiornamento e sicurezza >> per sviluppatori >> seleziona la casella accanto change execution policy to allow local powershell scripts to run without signing
Per coloro che non sono a conoscenza di come risolvere questo errore utilizzando Windows PowerShell
Apri PowerShell (Esegui come amministratore)
Verificare la politica di esecuzione corrente utilizzando questo comando
Get-ExecutionPolicy Dovresti ottenere "Restricted"
Esegui questo comando per renderlo "illimitato"
Set-ExecutionPolicy Unrestricted
Controlla di nuovo se la politica di esecuzione è cambiata eseguendo questo comando Get-ExecutionPolicy Dovresti ottenere 'Unrestricted'
Ora prova a eseguire nodemon sul tuo progetto nodemon 'filename.js'
Spero che questo possa essere utile
Questo comando potrebbe aiutare
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
Durante l'utilizzo di npm, consiglio di collegare il comando nodemon nella scripts
sezione e lasciare le impostazioni di sicurezza così come sono.
package.json:
{
"scripts": {
"hmr": "nodemon index.js",
"nodemon": "npm run hmr",
"start": "node index.js"
},
"dependencies": {}
}
Esegui semplicemente npm run nodemon
che eseguirà la hmr
linea dietro le quinte.