¿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)?
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.
- Abra Windows PowerShell con Ejecutar como administrador
- 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
Recomendaría usar RemoteSigned
en lugar de Unrestricted
limitar 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 ".
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
Para aquellos que no saben cómo resolver este error usando Windows PowerShell
Abrir PowerShell (ejecutar como administrador)
Verifique la política de ejecución actual usando este comando
Get-ExecutionPolicy Debería obtener 'Restringido'
Ejecute este comando para convertirlo en 'Sin restricciones'
Set-ExecutionPolicy sin restricciones
Verifique nuevamente si la política de ejecución cambió ejecutando este comando Get-ExecutionPolicy Debería obtener 'Sin restricciones'
Ahora intente ejecutar nodemon en su proyecto nodemon 'filename.js'
Espero que esto sea útil
Este comando puede ayudar
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
Al usar npm, recomiendo unir el comando nodemon en la scripts
secció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 nodemon
lo que ejecutará la hmr
línea detrás de escena.