-
-
Notifications
You must be signed in to change notification settings - Fork 9.6k
Fixed #3588 to use darwin-x64 for all node < 16.0.0 #3709
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Fixed #3588 to use darwin-x64 for all node < 16.0.0 #3709
Conversation
| # If running MAC M1 :: Node v14.17.0 was the first version to offer official experimental support: | ||
| # https://github.com/nodejs/node/issues/40126 (although binary distributions aren't available until v16) | ||
| if \ | ||
| nvm_version_greater '14.17.0' "${VERSION}" \ | ||
| || (nvm_version_greater_than_or_equal_to "${VERSION}" '15.0.0' && nvm_version_greater '16.0.0' "${VERSION}") \ | ||
| ; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i'm confused; this means that ^14.17 won't install directly on M* macs anymore.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @ljharb, the above check is used to set the x64 binary for all Macs running versions < 14.17.0, and for versions between 15 and 16. That’s why versions like 14.21.3 weren’t following this logic.
So either we can download the x64 binary for any version < 16, which would include 14.21.3 or, as you suggested here:
I can add logic first to attempt downloading the ARM binary and use the x64 binary as a fallback. However, if we do this, I would also suggest removing the entire condition:
if \
nvm_version_greater '14.17.0' "${VERSION}" \
|| (nvm_version_greater_than_or_equal_to "${VERSION}" '15.0.0' && nvm_version_greater '16.0.0' "${VERSION}") \
; thenAs we discussed for <16, there are no arm64 binaries. Please let me know which way is right.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
https://nodejs.org/dist/v14.18.0/ seems to have an arm binary listed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, but this condition is for only arm64 + darwin. There is also an inner if condition after this
if [ "_${NVM_OS}" = '_darwin' ] && [ "${NVM_ARCH}" = 'arm64' ]; then
NVM_ARCH=x64
fiLet me combine these two so that it will be much more readable.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Installation Logs.
➜ nvm git:(fallback-to-x64-for-darwin-node-versions-less-than-16) source ./nvm.sh && nvm install 16.11.0
Downloading and installing node v16.11.0...
Downloading https://nodejs.org/dist/v16.11.0/node-v16.11.0-darwin-arm64.tar.xz...
######################################################################### 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v16.11.0 (npm v8.0.0)
➜ nvm git:(fallback-to-x64-for-darwin-node-versions-less-than-16) source ./nvm.sh && nvm install 10.0.0
Downloading and installing node v10.0.0...
Downloading https://nodejs.org/dist/v10.0.0/node-v10.0.0-darwin-x64.tar.xz...
######################################################################### 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v10.0.0 (npm v5.6.0)
➜ nvm git:(fallback-to-x64-for-darwin-node-versions-less-than-16) source ./nvm.sh && nvm install 14
Downloading and installing node v14.21.3...
Local cache found: ${NVM_DIR}/.cache/bin/node-v14.21.3-darwin-x64/node-v14.21.3-darwin-x64.tar.xz
Checksums match! Using existing downloaded archive ${NVM_DIR}/.cache/bin/node-v14.21.3-darwin-x64/node-v14.21.3-darwin-x64.tar.xz
Now using node v14.21.3 (npm v6.14.18)
951b758 to
0ff9272
Compare
This PR addresses the issue raised by #3588