367

I have started to learn Angular but I note that powershell in Windows gives me an error whenever I make an angular command like:

ng new new-app

or

ng serve

this is the error what I got:

ng : File C:\Users\< username >\AppData\Roaming\npm\ng.ps1 cannot be loaded because 
running scripts is disabled on this system. For more information, see 
about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:1
+ ng serve
+ ~~
    + CategoryInfo          : SecurityError: (:) [], PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

P.S. I try these commands in cmd and it works.

6
  • Can you run Get-ExecutionPolicy and provide the output? Additionally can you run to C:\Users\< username >\AppData\Roaming\npm and open the properties for ng.ps1, to see if there is a tick box which states "blocked", if so untick this. Commented Sep 21, 2019 at 0:31
  • 4
    I think the best way is removing ng.ps1 when I did everything has worked again Commented Sep 21, 2019 at 11:32
  • 2
    @TheFabio Actually May I will never know, after deleting ng.ps1 everything was going in perfect way. Commented Nov 5, 2019 at 18:04
  • My Execution policy was not the issue but how I sent the arguments. If you are in the same boat, check out Executing Angular Serve From Powershell With Parameters Fail Commented Jun 14, 2021 at 16:11
  • 2
    Duplicate of PowerShell says "execution of scripts is disabled on this system.". Commented Jul 30, 2024 at 15:29

7 Answers 7

913

Remove ng.ps1 from the directory C:\Users\%username%\AppData\Roaming\npm\ then try clearing the npm cache at C:\Users\%username%\AppData\Roaming\npm-cache\

Sign up to request clarification or add additional context in comments.

9 Comments

FYI clearing the cache was not necessary for me.
Great, but why? Is it left over from a previous Angular installation and no longer being called correctly? Why does it no longer work?
Actually, I don't know. I don't even found any mention for this file anywhere so I thought that file really not necessary, so I just delete it
I have the "ng.ps1" (and "ng.cmd" and "ng", and "node_modules" folder) in C:\Users[username]\AppData\Roaming\npm folder. They were (re)created 2 days ago when I run ng update (I checked the modified date). After that update (current 8.3.21, previous: 8.3.xx) the ng stop to work with Powershell. Deleting it (renamed) solved the problem. No cache cleaning is needed but in VS Code you need to kill and reopen the Terminal. Maybe Angular introduced the "ng" command directly as a powershell script-let but that resulted in this common permission problem ?!
For anybody who wonders why this works: Windows by default blocks running unsigned powershell scripts because of security concerns. What is weird is why angular team keeps that script while it's really default behaviour for it to break Angular CLI and systems with unsigned script execution enabled are a minority. Removing this powershell script just stops Powershell from trying to execute .ps1 file and fall back to old cmd script, that also works, but was never restricted by Microsoft.
|
697

I solved my problem by running below command

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

7 Comments

This should be the correct answer for new installs.
This seems to be right but quite unreliable.
after this comment i enter 'a' to apply to All Policies. Thank You!
This fails in some enterprise environments where we are unable to set these perms.
|
42

script1.ps1 cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at http://go.microsoft.com/fwlink/?LinkID=135170

This error happens due to a security measure which won't let scripts be executed on your system without you having approved of it. You can do so by opening up a powershell with administrative rights (search for powershell in the main menu and select Run as administrator from the context menu) and entering:

set-executionpolicy remotesigned

1 Comment

Why do I specifically need to do this, when other folks does not have the same issue than me with the same version?
18

Step 1

First, you have to need to open the command prompt and run this command.

set-ExecutionPolicy RemoteSigned -Scope CurrentUser

Step 2

Now you have to run the second command on your system. This command is:

Get-ExecutionPolicy

Step 3

To view their policy, you need to run this command in your command prompt:

Get-ExecutionPolicy -list

https://www.c-sharpcorner.com/article/how-to-fix-ps1-can-not-be-loaded-because-running-scripts-is-disabled-on-this-sys/

Comments

6

Step1: Get-ExecutionPolicy for your Machine using the below command

Get-ExecutionPolicy -List

Step2: Once your identity scope and execution policy, please run the below commands using the same.

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

if above doesn't work, install the minimum node version angular required and run bellow command

npm install -g @angular/cli

if you want handle multiple node version use nvm as follows;

https://www.freecodecamp.org/news/node-version-manager-nvm-install-guide/

2 Comments

It is worth remembering that after applying the command, the operation of the 'ng' command was immediate, I didn't even need to raise the application's permissions (VSCode) as an administrator.
late to the party, but this will also help alleviate 'npm' is not recognized as an internal or external command (and similar commands) issue in 2024 using angular 19 for powershell execution of ng.ps1 where the installation works in other command environments liike git bash windows; it would be nice if the ps1 script detected the execution policy and prompted for prescriptive relaxation
2

You can try Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser.

Important things to note when running this command:

  1. run ng from project folder
  2. check ng version
  3. check angular cli in properly install or you can reinstall by running npm install -g @angular/cli

Comments

0

A quick workaround is to run the command from a .bat file

It won't then run the ps1 version of ng

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.