¿Cómo solucionar el error: nodemon.ps1 no se puede cargar porque la ejecución de scripts está deshabilitada en este sistema (sin riesgo de seguridad)?

Aug 15 2020

Error en la terminal: nodemon.ps1 no se puede cargar porque la ejecución de scripts está deshabilitada en este sistema. Para obtener más información, consulte about_Execution_Policies en https: /go.microsoft.com/fwlink/? LinkID = 135170.

Tengo una solución para solucionar el problema de esta manera.

  1. Abra Windows PowerShell con Ejecutar como administrador
  2. Ejecute este comando: Set-ExecutionPolicy Unrestricted

Eso resuelve el problema, pero de esta manera el sistema muestra Advertencia de riesgo de seguridad. Mi pregunta: ¿Hay alguna otra forma de resolver esto sin riesgo de seguridad? El objetivo es utilizar nodemon.

Respuestas

22 derekbaker783 Aug 15 2020 at 16:56

Recomendaría usar RemoteSigneden lugar de Unrestrictedlimitar la política al usuario actual si es posible.

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

RemoteSigned : "La política de ejecución predeterminada para los servidores Windows".



Aparte de eso, no me preocuparía demasiado, ya que no pretende ser un mecanismo de seguridad. Vea esta cita de los documentos:

"La política de ejecución no es un sistema de seguridad que restrinja las acciones de los usuarios. Por ejemplo, los usuarios pueden omitir fácilmente una política escribiendo el contenido del script en la línea de comando cuando no pueden ejecutar un script. En cambio, la política de ejecución ayuda a los usuarios a establecer reglas y les impide violarlas involuntariamente ".

8 web_walkerX Aug 15 2020 at 22:41

No existe ningún riesgo de seguridad asociado con permitir que los scripts firmados de forma remota se ejecuten en su máquina local. Básicamente significa que puede ejecutar scripts locales sin firmar, es decir, scripts escritos por usted, mientras que los scripts de una fuente remota (nodemon en este caso) deben estar firmados por una autoridad confiable.

PD: si está en Windows, puede ir a configuración >> actualización y seguridad >> para desarrolladores >> marque la casilla al lado change execution policy to allow local powershell scripts to run without signing

1 stp_ Dec 29 2020 at 13:32

Para aquellos que no saben cómo resolver este error usando Windows PowerShell

  1. Abrir PowerShell (ejecutar como administrador)

  2. Verifique la política de ejecución actual usando este comando

    Get-ExecutionPolicy Debería obtener 'Restringido'

  3. Ejecute este comando para convertirlo en 'Sin restricciones'

    Set-ExecutionPolicy sin restricciones

  4. Verifique nuevamente si la política de ejecución cambió ejecutando este comando Get-ExecutionPolicy Debería obtener 'Sin restricciones'

  5. Ahora intente ejecutar nodemon en su proyecto nodemon 'filename.js'

Espero que esto sea útil

AmanSingh Oct 20 2020 at 20:27

Este comando puede ayudar

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

Al usar npm, recomiendo unir el comando nodemon en la scriptssección y dejar la configuración de seguridad como está.

package.json:

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

Simplemente ejecute npm run nodemonlo que ejecutará la hmrlínea detrás de escena.