Come correggere l'errore: nodemon.ps1 non può essere caricato perché l'esecuzione di script è disabilitata su questo sistema (senza rischi per la sicurezza)?

Aug 15 2020

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

  1. Apri Windows PowerShell con Esegui come amministratore
  2. 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

22 derekbaker783 Aug 15 2020 at 16:56

Consiglierei di utilizzare RemoteSignedal contrario Unrestrictede 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 ".

8 web_walkerX Aug 15 2020 at 22:41

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

1 stp_ Dec 29 2020 at 13:32

Per coloro che non sono a conoscenza di come risolvere questo errore utilizzando Windows PowerShell

  1. Apri PowerShell (Esegui come amministratore)

  2. Verificare la politica di esecuzione corrente utilizzando questo comando

    Get-ExecutionPolicy Dovresti ottenere "Restricted"

  3. Esegui questo comando per renderlo "illimitato"

    Set-ExecutionPolicy Unrestricted

  4. Controlla di nuovo se la politica di esecuzione è cambiata eseguendo questo comando Get-ExecutionPolicy Dovresti ottenere 'Unrestricted'

  5. Ora prova a eseguire nodemon sul tuo progetto nodemon 'filename.js'

Spero che questo possa essere utile

AmanSingh Oct 20 2020 at 20:27

Questo comando potrebbe aiutare

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
kmgt Dec 22 2020 at 16:36

Durante l'utilizzo di npm, consiglio di collegare il comando nodemon nella scriptssezione 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 nodemonche eseguirà la hmrlinea dietro le quinte.