'Tried to install oh-my-posh but it tells me that "the term is not recognized as..."
So I tried installing oh-my-posh for windows with
Install-Module oh-my-posh -Scope CurrentUser
and typed
Get-PoshThemes
to see the available themes which I downloaded. But I got this message
Get-PoshThemes : The term 'Get-PoshThemes' is not recognized as the name of a cmdlet, function, script file, or
operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try
again.
At line:1 char:1
+ Get-PoshThemes
+ ~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Get-PoshThemes:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Can anyone help me?
Solution 1:[1]
Solution
(Note: I'm running PowerShell 7.1 LTS)
First, install a Nerd Font:
[skip if you've already done so]
Instructions for installing a Nerd Font:
https://docs.microsoft.com/en-us/windows/terminal/tutorials/custom-prompt-setup#install-a-nerd-font
Then, install oh-my-posh
:
1. Install: posh-git
oh-my-posh
:
# This first step isn't included in the Microsoft Docs page:
Install-Module posh-git -Scope CurrentUser
# ...though this one is:
Install-Module oh-my-posh -Scope CurrentUser
2. ...follow the rest of the instructions here:
3. ...finally, try the command again:
# Set the prompt theme (defaults to 'agnoster' for me)
# ! Note: You have to do this step first (or it still won't work)
Set-PoshPrompt
# List the available themes (should work now)
# ! Note: this will attempt to render a bunch of graphics in your shell
Get-PoshThemes
# ! Note: use the -List option to avoid a bunch of graphics in your shell
# This will list the paths to the themes (in plaintext):
Get-PoshThemes -List
Optional
To avoid manually entering Set-PoshPrompt
, include the command in your PowerShell $PROFILE
:
# ...e.g. to use the included 'zash' theme:
Set-PoshPrompt zash
...you should see your PowerShell prompt change when you open a start shell instance (i.e. new PowerShell tab or window).
Closing thoughts (side-note)
Before I got it to work, I originally followed the instructions here:
https://docs.microsoft.com/en-us/windows/terminal/tutorials/custom-prompt-setup#install-a-nerd-font
...no mention of the posh-git
module or the Set-PoshPrompt
command (as of 12/30/2021).
Solution 2:[2]
I kept getting the cmdlet not found error even after following the guide by Robbie. For some reason a fresh install did not fix it for me but an update did:
Update-Module oh-my-posh
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | |
Solution 2 | Brad C |