【问题标题】:Install Node on M1 Mac在 M1 Mac 上安装节点
【发布时间】:2023-03-25 19:12:01
【问题描述】:

对于有关二进制文件、处理器以及它们如何协同工作的问题,这里有点菜鸟:

我有一台带有 M1 芯片的新 Mac,并且想要安装 Node.js。我习惯用 Homebrew 来做这个。现在,如果我安装 Homebrew,强烈建议我使用 Rosetta,所以我这样做了。下一步:安装节点。所以我用arch -x86_64 brew install node代替brew install node

这很好用,只是我想知道,我现在是否以次优方式使用节点? Node 是否也使用 Rosetta,而不是直接在 M1 芯片上运行?

【问题讨论】:

  • 如果您的安装不正确,请始终执行brew info node。例如,brew info node@16 为您提供该命令以使其正确运行 echo 'export PATH="/opt/homebrew/opt/node@16/bin:$PATH"' >> ~/.zshrc

标签: node.js homebrew apple-silicon rosetta


【解决方案1】:

我刚拿到我的 M1 Mac mini。我确实添加了一个别名,因为我使用 oh-my-zsh 到我的 ~/.zshrcalias brew='arch -x86_64 brew 所以我不必继续输入所有这些。我brew install nvm 然后nvm ls-remote 并安装了v15.5.0。它被构建DV8_TARGET_ARCH_ARM64

希望对您有所帮助。我还为ARM64拉了内部人员VSCode。瞬间加载。

> node -p "process.arch" arm64

别忘了你需要xcode-select --install 命令行工具 (~450MB)。

【讨论】:

    【解决方案2】:

    根据您的项目依赖关系,您可能会发现有必要在 x86 架构上运行 node,因为它可能会让您摆脱旧版本 node.js 上令人沮丧的错误。如果像我一样,您已经在此处尝试安装了 node,您可以使用以下内容来帮助您进行排序(假设您已经安装了 NVM):

    $ nvm uninstall 14
    $ arch -x86_64 zsh 
    $ nvm install 14
    $ nvm alias default 14
    

    考虑将上面的 14 替换为您尝试运行的任何节点版本。

    安装完成后,你可以运行node follow process.arch来确认node是在x64模式下运行的:

    $ node
    > process.arch
    'x64'
    

    【讨论】:

    【解决方案3】:

    从节点 v16.x:

    https://doesitarm.com/app/nodejs/

    PS:node v16 存在 serverless-offline 问题。我设法使用节点 v15.4.0 解决了它


    从节点 v15.x:

    sudo xcode-select --install
    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
    nvm install v15
    node --version
    

    【讨论】:

    • 对于我们这些不想参与 Homebrew 的人来说,这是一个很好的解决方案。
    【解决方案4】:

    Nvm install 14.15.3(当前的 LTS)在我的任何尝试中都没有成功(也带有 brew arch -x86_64 前缀)。但是,我能够:

    • 从 github 安装 nvm(将“export”字符串放入 ~/.zhrc 并执行)
    • nvm 安装 15

    注意: 这个 VSCode 版本也适用于我:https://code.visualstudio.com/docs/?dv=osx&build=insiders

    【讨论】:

    • 看起来他们在 v14 github.com/nodejs/build/issues/2474 好点上有一个未解决的问题。
    • 问题似乎是节点 v14 和更早版本使用不为苹果芯片构建的 v8 版本,因此他们必须向后移植允许其构建的 v8 更改才能发布苹果硅的节点 12 或节点 14。有点烦人,但可以理解:-/
    【解决方案5】:

    如果您尚未安装 rosseta2,请使用 Rosseta 2 打开终端 只需查看我的博客即可进行设置

    https://siddhantjohari.medium.com/setting-up-react-native-in-mac-m1-aaf18c37fc34

    使用此命令安装 Homebrew。

    arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
    

    现在点击这个命令来安装 nodejs 或者你想要的任何东西

    arch -x86_64 brew install <package>
    

    谢谢。

    【讨论】:

      【解决方案6】:

      您可以使用n安装节点,请关注link

      n --arch arm64 16
      

      【讨论】:

        【解决方案7】:

        要安装 Node 15.6.0 或更高版本:

        1. 安装 nvm:

          curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
          
        2. 安装 NodeJS

          nvm install v15
          

        要验证 nvm 和 NodeJS 是否都安装成功,运行:

        node -v
        npm -v
        

        您可以找到更多信息here

        【讨论】:

          【解决方案8】:

          由于 Node v16 原生支持 Apple Silicon,brew install nodenvm install 16 可以在 Apple M1 笔记本电脑上运行。

          这是我当前的构建。

          $ nvm --version
          0.39.0
          
          $ node --version
          v16.13.1
          
          $ node -p "process.arch"
          arm64
          

          【讨论】:

            猜你喜欢
            • 2021-05-17
            • 2021-06-21
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2022-12-03
            • 2021-08-08
            相关资源
            最近更新 更多