0

Erro no Angular Cli no Windows como resolver.

Marcelo Silva
Marcelo Silva


Estou através deste artigo para compartilhar um problema que me aconteceu ao usar o sistema operacional windows para desenvolver com a ferramenta angular cli até o dia anterior estava usando o linux e o visual studio code tudo estava funcionando sem problemas, fiz a instalação do angular cli no linux conforme documentação do angular e tudo foi bastante simples apenas segui o passo a passo e consegui fazer a instalação e rodar algumas aplicações e fazer alguns teste sem problemas. 

Fiz também a instalação no sistema windows também de forma simples e fácil mas depois de instalar o angular cli no windows eu fui verificar no prompt de comando e apareceu a seguinte mensagem de erro  “ng.ps1 não pode ser carregada porque a execução de scripts foi desabilitada pelo sistema”,:

na própria mensagem de erro emitida pelo sistema aparece um link explicando sobre as configurações de políticas de execução de scripts no sistema e uma descrição de cada tipo de  política que pode ser habilitada;

Como toda documentação da microsoft você tem que ler mais de uma vez para entender e só a leitura não adianta você tem que testar e tentar até que consiga resolver, então depois de várias tentativas consegui entender qual era a mecânica para resolver o meu problema para usar o angular cli no windows.

Para resolver o problema devemos alterar duas configurações no sistema devemos setar Unrestricted nos perfis LocalMachine e CurrentUser.

   

Para conseguirmos habilitar as configurações precisamos usar o powershell do windows em modo administrador,


Agora vamos verificar as configurações no sistema  com o seguinte comando Get-ExecutionPolicy -List

Agora devemos setar a opção Unrestricted em CurrentUser com o seguinte comando Set-ExecutionPolicy -Scope CurrentUser


Depois de ExecutionPolicy: inserir a configuração Unrestricted e pressionar enter vai aparecer uma confirmação apenas digitar  (s) de sim e confirmar com enter novamente


Faremos o mesmo procedimento para a segunda configuração setar a opção Unrestricted em LocalMachine com o comando

Set-ExecutionPolicy -Scope LocalMachine

Depois vamos verificar se as alterações estão corretas no sistema com o

Get-ExecutionPolicy -List



Confirmado as alterações vamos fazer um teste se o angular cli vamos dar um simples ng help para validar a normalização no uso do angular cli


Resolvido agora conseguimos usar o angular cli normalmente no sistema;

segue um trecho da documentação sobre as políticas de scripts do PowerShell:


Descrição breve

Descreve as políticas de execução do PowerShell e explica como gerenciá-las.

Descrição longa

A política de execução do PowerShell é um recurso de segurança que controla as condições sob as quais o PowerShell carrega arquivos de configuração e executa scripts. Esse recurso ajuda a impedir a execução de scripts mal-intencionados.

Em um computador com Windows, você pode definir uma política de execução para o computador local, para o usuário atual ou para uma sessão específica. Você também pode usar uma configuração de Política de Grupo para definir políticas de execução para computadores e usuários.

As políticas de execução para o computador local e o usuário atual são armazenadas no registro. Você não precisa definir políticas de execução no seu perfil do PowerShell. A política de execução para uma sessão específica é armazenada apenas na memória e é perdida quando a sessão é fechada.

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 ignorar facilmente uma política digitando o conteúdo do script na linha de comando quando não puderem executar um script. Em vez disso, a política de execução ajuda os usuários a definir regras básicas e impede que eles as violem involuntariamente.

Em computadores não Windows, a política de execução padrão é irrestrita e não pode ser alterada. O Set-ExecutionPolicy cmdlet está disponível, mas o PowerShell exibe uma mensagem de console que não tem suporte. Embora Get-ExecutionPolicy o retorne irrestrito em plataformas não Windows, o comportamento realmente corresponde ao bypass porque essas plataformas não implementam as zonas de segurança do Windows.

Políticas de execução do PowerShell

A imposição dessas políticas só ocorre em plataformas Windows. As políticas de execução do PowerShell são as seguintes:

AllSigned

  • Os scripts podem ser executados.
  • Requer que todos os arquivos de configuração e scripts sejam assinados por um editor confiável, incluindo scripts escritos no computador local.
  • O solicita antes de executar scripts de editores que você ainda não classificou como confiáveis ou não confiáveis.
  • Riscos em execução assinada, mas mal-intencionados, scripts.

Bypass

  • Nada está bloqueado e não há avisos ou prompts.
  • Essa política de execução é projetada para configurações nas quais um script do PowerShell é integrado a um aplicativo maior ou para configurações em que o PowerShell é a base para um programa que tem seu próprio modelo de segurança.

Padrão

  • Define a política de execução padrão.
  • Restrito para clientes Windows.
  • RemoteSigned para servidores Windows.

RemoteSigned

  • A política de execução padrão para computadores Windows Server.
  • Os scripts podem ser executados.
  • Requer uma assinatura digital de um editor confiável em arquivos de configuração e scripts que são baixados da Internet, que inclui programas de email e mensagens instantâneas.
  • Não requer assinaturas digitais em scripts que são gravados no computador local e não baixados da Internet.
  • Executa scripts que são baixados da Internet e não assinados, se os scripts forem desbloqueados, como usando o Unblock-File cmdlet.
  • Riscos que executam scripts não assinados de fontes diferentes da Internet e scripts assinados que podem ser mal-intencionados.

Restritos

  • A política de execução padrão para computadores cliente Windows.
  • Permite comandos individuais, mas não permite scripts.
  • Impede a execução de todos os arquivos de script, incluindo arquivos de formatação e configuração ( .ps1xml ), arquivos de script de módulo ( .psm1 ) e perfis do PowerShell ( .ps1 ).

Indefinido

  • Não há nenhuma política de execução definida no escopo atual.
  • Se a política de execução em todos os escopos for indefinida , a política de execução efetiva será restrita para clientes Windows e RemoteSigned para Windows Server.

Irrestrito  (Unrestricted)

  • A política de execução padrão para computadores não Windows e não pode ser alterada.
  • Os scripts não assinados podem ser executados. Há um risco de executar scripts mal-intencionados.
  • Avisa o usuário antes de executar scripts e arquivos de configuração que não são da zona da intranet local.



REFERÊNCIAS :


https://nodejs.org/en/docs/


https://angular.io/cli


https://docs.microsoft.com/pt-br/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.1




0
0

Comentários (1)

1

Não li nada fonte horrivel, só reinstala todo o CLI do Angular desde a raiz nas pastas nada tão simples ou tenta dar um refresh nos cookies tbm pode ser algum server preso como um de node com o mesmo numero de host.

Sou Bacharel em Sistemas de informação pela Unigranrio.

Brasil