Como corrigir o erro - nodemon.ps1 não pode ser carregado porque a execução de scripts está desabilitada neste sistema (sem risco de segurança)?
Erro no terminal: nodemon.ps1 não pode ser carregado porque a execução de scripts está desabilitada neste sistema. Para obter mais informações, consulte about_Execution_Policies em https: /go.microsoft.com/fwlink/? LinkID = 135170.
Eu tenho uma solução para corrigir o problema desta forma
- Abra o Windows PowerShell com Executar como Administrador
- Execute este comando: Set-ExecutionPolicy Unrestricted
Isso resolve o problema, mas desta forma o sistema mostra Aviso de risco de segurança. Minha pergunta: existe alguma outra maneira de resolver isso sem risco de segurança? O objetivo é usar o nodemon.
Respostas
Eu recomendo usar RemoteSigned
ao invés de Unrestricted
, e limitar a política para o usuário atual, se possível.
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
RemoteSigned : "A política de execução padrão para computadores servidores Windows."
Fora isso, eu não me preocuparia muito com isso, pois não se destina a ser um mecanismo de segurança. Veja esta citação dos documentos:
"A política de execução não é um sistema de segurança que restringe as ações do usuário. Por exemplo, os usuários podem facilmente contornar uma política digitando o conteúdo do script na linha de comando quando não podem executar um script. Em vez disso, a política de execução ajuda os usuários a definir o básico regras e os impede de violá-los acidentalmente. "
Não há nenhum risco de segurança associado à permissão de scripts assinados remotos para serem executados em sua máquina local. Basicamente, significa que você pode executar scripts locais não assinados, ou seja, scripts escritos por você, enquanto scripts de uma fonte remota (nodemon neste caso) devem ser assinados por uma autoridade confiável.
PS: Se você estiver no Windows, basta acessar as configurações >> atualização e segurança >> para desenvolvedores >> marque a caixa ao lado change execution policy to allow local powershell scripts to run without signing
Para quem não sabe como resolver esse erro usando o Windows PowerShell
Abra PowerShell (Executar como Administrador)
Verifique a política de execução atual usando este comando
Get-ExecutionPolicy Você deve obter 'Restricted'
Execute este comando para torná-lo 'Irrestrito'
Set-ExecutionPolicy Unrestricted
Verifique novamente se a política de execução foi alterada executando este comando Get-ExecutionPolicy Você deve obter 'Unrestricted'
Agora tente executar o nodemon em seu projeto nodemon 'filename.js'
Espero que isso seja útil
Este comando pode ajudar
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
Ao usar o npm, eu recomendo fazer a ponte do comando nodemon na scripts
seção e deixar as configurações de segurança como estão.
package.json:
{
"scripts": {
"hmr": "nodemon index.js",
"nodemon": "npm run hmr",
"start": "node index.js"
},
"dependencies": {}
}
Basta executar o npm run nodemon
que irá executar a hmr
linha nos bastidores.