Comment réparer l'erreur - nodemon.ps1 ne peut pas être chargé car l'exécution des scripts est désactivée sur ce système (sans risque pour la sécurité)?

Aug 15 2020

Erreur sur le terminal: nodemon.ps1 ne peut pas être chargé car l'exécution des scripts est désactivée sur ce système. Pour plus d'informations, consultez about_Execution_Policies à l'adresse https: /go.microsoft.com/fwlink/? LinkID = 135170.

J'ai une solution pour résoudre le problème de cette manière

  1. Ouvrez Windows PowerShell avec Exécuter en tant qu'administrateur
  2. Exécutez cette commande: Set-ExecutionPolicy Unrestricted

Cela résout le problème, mais de cette façon, le système affiche un avertissement de risque de sécurité. Ma question: existe-t-il un autre moyen de résoudre ce problème sans risque pour la sécurité? L'objectif est d'utiliser nodemon.

Réponses

22 derekbaker783 Aug 15 2020 at 16:56

Je recommanderais d'utiliser RemoteSignedplutôt que de Unrestrictedlimiter la politique à l'utilisateur actuel si possible.

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

RemoteSigned : "La stratégie d'exécution par défaut pour les ordinateurs serveurs Windows."



À part cela, je ne m'inquiéterais pas trop, car il n'est pas destiné à être un mécanisme de sécurité. Voir cette citation de la documentation:

"La politique d'exécution n'est pas un système de sécurité qui restreint les actions des utilisateurs. Par exemple, les utilisateurs peuvent facilement contourner une politique en saisissant le contenu du script sur la ligne de commande lorsqu'ils ne peuvent pas exécuter un script. Au lieu de cela, la politique d'exécution aide les utilisateurs à définir des paramètres de base règles et les empêche de les enfreindre involontairement. "

8 web_walkerX Aug 15 2020 at 22:41

Il n'y a aucun risque de sécurité associé à l'autorisation de l'exécution de scripts signés distants sur votre ordinateur local. Cela signifie essentiellement que vous pouvez exécuter des scripts locaux non signés, c'est-à-dire des scripts écrits par vous tandis que les scripts d'une source distante (nodemon dans ce cas) doivent être signés par une autorité de confiance.

PS: Si vous êtes sous Windows, vous pouvez simplement aller dans les paramètres >> mise à jour et sécurité >> pour les développeurs >> cochez la case à côté change execution policy to allow local powershell scripts to run without signing

1 stp_ Dec 29 2020 at 13:32

Pour ceux qui ne savent pas comment résoudre cette erreur à l'aide de Windows PowerShell

  1. Ouvrez PowerShell (Exécuter en tant qu'administrateur)

  2. Vérifiez la politique d'exécution actuelle à l'aide de cette commande

    Get-ExecutionPolicy Vous devriez obtenir 'Restreint'

  3. Exécutez cette commande pour la rendre «illimitée»

    Set-ExecutionPolicy sans restriction

  4. Vérifiez à nouveau si la politique d'exécution a changé en exécutant cette commande Get-ExecutionPolicy Vous devriez obtenir 'Unrestricted'

  5. Maintenant, essayez d'exécuter nodemon sur votre projet nodemon 'filename.js'

J'espère que ce serait utile

AmanSingh Oct 20 2020 at 20:27

Cette commande pourrait aider

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

Lors de l'utilisation de npm, je recommande de ponter la commande nodemon dans la scriptssection et de laisser les paramètres de sécurité tels quels.

package.json:

{
    "scripts": {
        "hmr": "nodemon index.js",
        "nodemon": "npm run hmr",
        "start": "node index.js"
    },
    "dependencies": {}
}

npm run nodemonExécutez simplement ce qui exécutera la hmrligne en coulisses.