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é)?
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
- Ouvrez Windows PowerShell avec Exécuter en tant qu'administrateur
- 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
Je recommanderais d'utiliser RemoteSigned
plutôt que de Unrestricted
limiter 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. "
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
Pour ceux qui ne savent pas comment résoudre cette erreur à l'aide de Windows PowerShell
Ouvrez PowerShell (Exécuter en tant qu'administrateur)
Vérifiez la politique d'exécution actuelle à l'aide de cette commande
Get-ExecutionPolicy Vous devriez obtenir 'Restreint'
Exécutez cette commande pour la rendre «illimitée»
Set-ExecutionPolicy sans restriction
Vérifiez à nouveau si la politique d'exécution a changé en exécutant cette commande Get-ExecutionPolicy Vous devriez obtenir 'Unrestricted'
Maintenant, essayez d'exécuter nodemon sur votre projet nodemon 'filename.js'
J'espère que ce serait utile
Cette commande pourrait aider
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
Lors de l'utilisation de npm, je recommande de ponter la commande nodemon dans la scripts
section 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 nodemon
Exécutez simplement ce qui exécutera la hmr
ligne en coulisses.