If you have used Nx with PNPM recently, you might have noticed that generating any schematics using their own "Nx Console" extension in VSCode is not working and ends up in an error like:
The term 'pnpx' 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.
After some research I found an easy to implement solution to fix this issue, we can just alias pnpx
to pnpm exec
.
The solution I will display is for powershell but you can also use a similar solution for your terminal of choice.
Aliasing PNPX
First we will need to open a powershell terminal and run the following commands. What they will do, is create a powershell file for your user that will be run on each powershell open. This file will have the authority to run remote signed scripts since we need it to have the same capabilities as the npx
command.
new-item $PROFILE.CurrentUserAllHosts -ItemType file -Force
-
Set-ExecutionPolicy -Scope CurrentUser
thenRemoteSigned
-
ise $PROFILE.CurrentUserAllHosts
And finally add:
function pnpx {
$joinedArgs = $args -join " "
pnpm exec $joinedArgs
}
function pnx{
$joinedArgs = $args -join " "
pnpm run nx $joinedArgs
}
- Save and exit
Thanks for reading!
Top comments (0)