You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Github Actions macos-12环境下如何强制安装ARM64架构Node.js?

强制在GitHub Actions的macOS-12环境安装ARM64版本Node.js

要在macos-12 runner上安装ARM64架构的Node.js,并配合node-gyp编译对应架构的原生模块,你需要做以下关键修改:

1. 指定Node.js的ARM64架构

在actions/setup-node步骤中添加architecture: arm64参数,明确要求安装ARM版本的Node.js:

- uses: actions/setup-node@v3
  with:
    node-version: '18'
    architecture: arm64  # 强制安装ARM64版本

2. 配置编译环境适配ARM64

由于macos-12 runner默认是x86_64架构,需通过环境变量告知npm和node-gyp以ARM64标准编译模块。在setup-node步骤后添加环境配置:

- name: Set ARM64 build flags
  run: |
    echo "npm_config_arch=arm64" >> $GITHUB_ENV
    echo "npm_config_target_arch=arm64" >> $GITHUB_ENV

修改后的完整Workflow配置

name: test-keyring-go
on: [push]
jobs:
  build-native-node-module-on-mac:
    runs-on: macos-12
    environment: dev
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: '18'
          architecture: arm64
      - name: Set ARM64 build flags
        run: |
          echo "npm_config_arch=arm64" >> $GITHUB_ENV
          echo "npm_config_target_arch=arm64" >> $GITHUB_ENV
      - uses: actions/setup-python@v4
        with:
          python-version: '3.10'          
      - uses: actions/setup-go@v3
        with:
          go-version: '1.20.1'      
      - run: npm install --ignore-scripts
      - run: npm run build:go:m1
      - run: npm run build:node:m1
      - run: npm run test
      - run: npm run vitest

验证安装结果

可添加一个步骤确认Node.js架构是否为ARM64:

- run: node -p "process.arch"  # 输出应为arm64

完成上述修改后,node-gyp会基于ARM64架构编译原生模块,与你安装的Node.js版本完全适配。

内容的提问来源于stack exchange,提问作者David Choi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 17:23:21