firebase-tools: npm i -g firebase-tools leads to ...firebase.ps1 cannot be loaded because running scripts is disabled on this system
I’ve come across the following error today after updating firebase-tools. I use Visual Studio Code and after the latest firebase update I’m not able to run any firebase scripts in the PowerShell terminal. I can run them in cmd and I can run other scripts still in PowerShell, eg npm and Netlify hosting. I was using firebase in one project after deploying earlier today, got the prompt to update firebase-tools, did so, and now cant access firebase in any project from PowerShell. Been using without issue for 6+months.
[REQUIRED] Environment info
- firebase-tools@7.2.4
// Can’t run this command but package.json says: “firebase”: “^5.11.1”,
Platform: Windows 10 Home
[REQUIRED] Test case
- Install Visual Studio Code
- Open a new file/folder
- In terminal - npm install -g firebase-tools
- In PowerShell terminal - firebase // followed by any command leads to error : firebase : File C:\Users\mada7\AppData\Roaming\npm\firebase.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.
[REQUIRED] Steps to reproduce
As above
[REQUIRED] Expected behavior
firebase to run scripts in powershell, which worked until updating firebase-tools to the latest version.
[REQUIRED] Actual behavior
// can’t run with --debug flag in Powershell PS C:\web-dev\cv> firebase firebase : File C:\Users\mada7\AppData\Roaming\npm\firebase.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
- firebase
-
+ CategoryInfo : SecurityError: (:) [], PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess
// running in cmd Microsoft Windows [Version 10.0.18362.295] © 2019 Microsoft Corporation. All rights reserved.
C:\web-dev\cv>firebase --debug [2019-08-27T08:50:01.286Z] ---------------------------------------------------------------------- [2019-08-27T08:50:01.290Z] Command: C:\Program Files\nodejs\node.exe C:\Users\mada7\AppData\Roaming\npm\node_modules\firebase-tools\lib\bin\firebase.js --debug [2019-08-27T08:50:01.291Z] CLI Version: 7.2.4 [2019-08-27T08:50:01.291Z] Platform: win32 [2019-08-27T08:50:01.292Z] Node Version: v10.16.3 [2019-08-27T08:50:01.293Z] Time: Tue Aug 27 2019 09:50:01 GMT+0100 (British Summer Time) [2019-08-27T08:50:01.293Z] ----------------------------------------------------------------------
Usage: firebase [options] [command]
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Reactions: 26
- Comments: 73 (2 by maintainers)
I have the same error. Temp solution:
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope CurrentUser
Remove ng.ps1(respective ps1 file) from the directory C:\Users< username >\AppData\Roaming\npm\ then try clearing the npm cache at C:\Users< username >\AppData\Roaming\npm-cache..
this worked for me
If you try to generate command on cmd it will be work instead of VS Code Terminal.
@rajachennupati’s way 100% works. Do what he said above and delete that .ps1 file (aka Windows Powershell Script) and then run the command
npm cache clean
.It’s a good solution and works for me.
Well, try this:
Then run your chosen firebase syntax command.
is it safe?
Hey Deleting the firebase.ps1 file at the mentioned location worked for me without compromising security, hope it helps
@nvrr Do
npm cache clean --force
this will for sure remove everything from cache. If you are not comfortable with cleaning your entire cache. I suggest doing some research on how to do it more safely.I was able to run the firebase command using git bash without any problem
it worked
it’s just a conflict of names just execute:
firebase.cmd login
instead offirebase login
this will resolve the conflictC:\Users{username}\AppData\Roaming\npm\firebase.ps1 I deleted this file and it works for me.
After the effort, I think Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope CurrentUser is good option to fix the issue.you can go with this it will not create issue.
well I read something on StackOverflow and that worked for me and that’s it : “Just delete firebase.ps1 file”
used this Set-ExecutionPolicy RemoteSigned that work for me. thanks
If you are on Windows Powershell , switch to Windows Command Line by typing cmd , and then firebase command should work.
This solved the problem for me as well
Yes this worked for me too
@abeisgoat any idea what’s going on here? This is a Windows thing, so I am therefore automatically scared of it.
Simply delete the firebase.ps1 file at the folder shown by the error message and try to run the command again.
npm cache clean --force
This did the trick!
make sure you use cmd bash instead of powershell in vscode , that worked for me;)
@k96white Yes deleting firebase.ps1 file definitely helped
it makes me wonder why this bug is still a thing
The documentation from Microsoft is here: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7
It seems that in some cases PowerShell blocks “scripts”. I am not sure what qualifies the Firebase CLI as a script under this policy or if we have done anything to change it recently but I don’t think there is anything we can do to change this very system/shell specific behavior. If anyone has an idea we’d love to hear it though!
Also for users having this issue: do you have the same issue with other node-based CLIs? If you
npm install -g prettier
are you able to runprettier
afterwards?Could we get someone smart to explain why
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
solves the issue, and why so many of us are getting errors in the first place?It worked for me too btw.
this worked for me…thanks >>> Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope CurrentUser
Ran into this issue updating from 7.3.1 to 7.3.2
Unfortunately it’s not safe. If you choose use this police very careful when use package manager like chocolatey.