Une sorte de noob ici sur les questions sur les binaires, les processeurs et comment tout cela fonctionne ensemble:
J'ai un nouveau Mac avec une puce M1 et je souhaite installer le nœud. J'ai l'habitude de faire ça avec Homebrew. Maintenant, si j'installe Homebrew, je suis fortement recommandé d'utiliser Rosetta, donc je l'ai fait. Étape suivante: Installation de nœud. Ainsi, au lieu de brasse d'installation nœud
je fais arch -x86_64 Brew Install Node
.
Cela fonctionne bien, seulement je me demande, est-ce que j'utilise maintenant le nœud de manière sous-optimale? Le nœud utilise-t-il également Rosetta, au lieu de fonctionner directement sur la puce M1?
8 Réponses :
Je viens de recevoir mon M1 Mac Mini. J'ai ajouté un alias car j'utilise oh-my-zsh à mon ~ / .zshrc
pour alias brasse tout ça. I
Brew Install Nvm
puis nvm ls-remote
et installé v15.5.0. Il est construit dv8_target_arch_arm64
.
J'espère que cela aide. J'ai également tiré les initiés VScode pour ARM64. Se charge dans une seconde.
> node -p "process.arch"
arm64
N'oubliez pas que vous avez besoin Xcode-Select - Installation
Outils de ligne de commande (~ 450 Mo).
NVM Installer 14.15.3 (LTS actuel) n'a été réussi pour moi dans aucune des tentatives (avec le préfixe Brew Arch -x86_64 également). Mais j'ai pu:
Remarque: Cette version VScode fonctionne également pour moi: https://code.visualstudio.com/docs/?dv=OSX&build=Insiders
On dirait qu'ils ont un problème ouvert sur V14 github.com/nodejs/build/issues/2474 un> bon point.
Le problème semble être que le nœud v14 et les versions d'utilisation antérieures de V8 qui ne construisent pas pour Apple Silicon, ils devraient donc faire du report les modifications V8 qui lui permettent de construire afin de libérer un nœud 12 ou un nœud 14 pour Apple silicium. Un peu ennuyeux, mais compréhensible: - /
Open Terminal en utilisant Rosseta 2 si vous n'avez pas encore installé Rosseta2 Consultez simplement mon blog pour le configurer
https://siddhantjohari.medium.com/setting-upreact-native-in-mac-m1-aaf18c37fc34
Installez Homebrew en utilisant cette commande.
arch -x86_64 brew install <package>
Selon les dépendances de votre projet, vous pourriez trouver nécessaire d'exécuter un nœud sur une architecture x86 car cela peut vous faire passer des erreurs frustrantes sur les versions plus anciennes du nœud. Si, comme moi, vous aviez déjà installé un nœud dans vos tentatives ici, vous pouvez utiliser ce qui suit pour vous aider à vous faire tri (en supposant que vous avez déjà installé NVM):
$ node > process.arch 'x64'
Envisagez de remplacer 14 ci-dessus avec la version nœud que vous essayez d'exécuter.
Après l'installation, vous pouvez exécuter le nœud suivi Process.arch pour confirmer que le nœud s'exécute en mode x64:
$ nvm uninstall 14 $ arch -x86_64 zsh $ nvm install 14 $ nvm alias default 14
Voir aussi les documents M1 ici: github.com/nvm-sh/nvm# Installation - UpDate-Script
Chaque fois que je change d'arc avec $ arch -x86_64 zsh, alors j'ai obtenu la commande nvm introuvable
@Rohrfacu essayez d'exécuter source ~ / .profile
avant d'exécuter nvm
...?
ps: le nœud v16 a des problèmes avec le service sans serveur. J'ai réussi à le résoudre en utilisant le nœud v15.4.0
sudo xcode-select --install curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash nvm install v15 node --version
Bonne solution pour ceux d'entre nous qui ne veulent pas s'impliquer avec Homebrew.
Vous pouvez installer le nœud à l'aide de n
, veuillez suivre le lien .
n --arch arm64 16
Pour installer le nœud 15.6.0 ou supérieur: Installez NVM: Installez les nodejs Pour vérifier si NVM et NODEJS ont été installés avec succès, exécutez: node -v
npm -v
nvm install v15
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
Comme le nœud V16 prend en charge le silicium Apple, d'installation de l'installation nœud
ou NVM Installer 16
fonctionnerait sur les ordinateurs portables Apple M1.
Voici ma version actuelle.
$ nvm --version 0.39.0 $ node --version v16.13.1 $ node -p "process.arch" arm64
Faites toujours un
nœud d'information Brew
si vous êtes installé pas OK. Pour Eg.,Brew Info Node @ 16
vous donne cette commande pour la faire fonctionner correctementecho 'export path = "/ opt / homebrew / opt / node @ 16 / bin: $ path" '>> ~ / .zshrc
.