애플 Silicon에서 현지인 노드로jsv14를 이동할 수 있습니까

3585 단어 Node.jsmacOSM1tech

결론


Node.js v14.17.0부터 Apple Silicon을 지원하는 모델이 리트랙트되어 로컬 사용자로 이동할 수 있음

Node.js의 대응 상황


애플 실리콘의 대응과 관련해서는 v16 이슈만 있어 v14가 지원되는지 알 수 없어 조사했다.

v16부터 본격적으로 대응


v16(v15) 이후 애플 실리콘을 지원하겠다고 공식 발표했다.
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#toolchain-and-compiler-upgrades
실제 v16의 발표를 보면 darwin-arm64가 포함되어 있음을 알 수 있다.
https://nodejs.org/download/release/v16.13.0/

이전 버전


공식 issue에는 이런 기술이 있다.
NOTE: Support is very unlikely to be back ported to 14.x or before due to requiring a SemVer Major V8 update
https://github.com/nodejs/node/issues/37309
v14 이전에는 힘들었을 거예요. 그래서 아마 지지하지 않을 거예요.
이거 투고 있어요?js의 애플 실리콘에 대한 대응 상황을 조사한 결과 v14는 Rosetta를 통해서만 작동할 수 있다고 보도되어 15나 16을 선택했다.
그럼 실제 대응은 없나요? 그건 아닌 것 같은데.
찾아보니 이 PR에 문제가 있어요. v14에 근거해서요.17.0부터 백엔드 포트로 대응할 수 있다.
https://github.com/nodejs/node/pull/38051

우리 v14 더 필요해


16학과로 하면 된다고 하지만 14학과로 개발해야 하는 경우도 있다.
예를 들어 AWS lambda는 vercel을 사용해도 v14에만 대응한다.
이런 서비스에 의존하는 제품이라면 개발 환경도 14학과에 고정될 수밖에 없다.
이런 경우도 있어서 실제로 설치해 봤어요.

ARM64Binary의 Node입니다.js 설치


asdf의 상황입니다.


노드입니다.js의 버전 관리에서 asdf를 사용했기 때문에 집필할 때 최신 14.18.1을 설치해 보았습니다.
$ asdf install nodejs 14.18.1
Binary not found for version 14.18.1
바이너리 파일을 찾을 수 없으면 표시됩니다.
14학번 맥은 ARM64 바이너리로 공개되지 않은 것 같습니다.
https://nodejs.org/download/release/v14.18.1/
그래도 안 될 줄 알았는데 다시 확인해 보니 직접 만들면 설치할 수 있을 것 같아.
해볼게요.
※ asdf를 사용하여 소스 코드로부터 구축하는 방법여기
$ NODEJS_CONFIGURE_OPTIONS='--with-intl=full-icu --download=all' NODEJS_CHECK_SIGNATURES="no" asdf install nodejs ref:v14.18.1
10분 정도 기다려...
나는 순조롭게 운행했다.
M1 프로라 건물이 빠른 느낌이에요.
(Node.js를 처음 구축하기 때문에 Intel CPU가 얼마나 오래 걸릴지 알 수 없음)

nodenv의 상황


nodenv라면 일반적인 명령과 같은 명령으로 설치할 수 있습니다.
그러나 현지인 2진법이 없기 때문에 이쪽도 건설을 시작하려면 시간이 좀 걸린다.
$ nodenv install 14.18.1
https://github.com/nodenv/node-build/issues/663#issuecomment-886068598

좋은 웹페이지 즐겨찾기