[rush] Rush fails to install under Node 14.x without Python/C++ #2467
Labels
bug
Something isn't working as intended
external issue
The root cause is with an external component that needs a fix or workaround
Summary
Rush's experimental cloud build cache feature seems to have brought in a dependency on keytar, which uses native APIs and thus requires prebuilt binaries. But the outdated version 5.6.0 does not ship with prebuilt binaries for Node 14 (currently LTS).
This causes
npm install -g @microsoft/rush
to fail.Repro steps
Start with a Windows machine that does not have Python or a C++ compiler.
Use nvm-windows to select Node.js 14.15.3 (the current LTS release):
Now try to install Rush:
C:\> npm install --global @microsoft/rush
Expected result: It should install without problems.
Actual result: The installation fails:
Details
Possible fixes:
keytar
keytar
on demand, only if the build cache feature is enabledkeytar
from 5.6.0 to 7.3.0 which probably supports Node.js LTS.The
keytar
package is a dependency of the @azure/identity package. Rush is using the latest version of@azure/identity
(1.2.2), but it depends on the obsoletekeytar
SemVer range^5.4.0
.Standard questions
@microsoft/rush
globally installed version?node -v
)?The text was updated successfully, but these errors were encountered: