feat: adds environment variable to allow PowerShell executable to be specified #2512
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Checklist
npm install && npm test
passesDescription of change
The
Add-Type
powershell command infindVisualStudio2017OrNewer()
can fail with early versions of PowerShell (<=5.x) in a restricted corporate environment due to permission denied on a temp folder in~\AppData\Local\Temp
. This is not a problem in node-gyp itself, but rather a limitation of legacy versions of PowerShell in a restricted environment.Newer versions of PowerShell (7.0 for example) do not have this problem and are able to perform the
Add-Type
command without any problems in a restricted environment.This PR adds a new check for a new environment variable (
NODE_GYP_POWERSHELL_PATH
) which can be used to specify a different PowerShell executable to use, if you want.Example usage:
NOTE: This is different than the problem addressed by #2449. I'm looking for a way to use Powershell 7, which is an entirely different executable than powershell.exe.