Skip to content

[BUG] Install script fails on macOS - asset naming mismatch (Darwin_arm64 vs Darwin_all) #89

@ranveerd11

Description

@ranveerd11

Problem/Context

The install script fails on macOS because it looks for architecture-specific binaries (Darwin_arm64, Darwin_amd64) but the release only contains a universal binary (Darwin_all).

Steps to Reproduce

curl -fsSL https://raw.githubusercontent.com/AINative-Studio/ainative-code/main/install.sh | bash

Observed Behavior

[INFO] Detected platform: Darwin_arm64
[INFO] Latest version: v0.1.1
[INFO] Downloading from https://github.com/AINative-Studio/ainative-code/releases/download/v0.1.1/ainative-code_0.1.1_Darwin_arm64.tar.gz...
curl: (56) The requested URL returned error: 404

Root Cause

Release assets:

  • ainative-code_0.1.1_Darwin_all.tar.gz ← Actual name (universal binary)
  • ainative-code_0.1.1_Linux_arm64.tar.gz
  • ainative-code_0.1.1_Linux_x86_64.tar.gz

Install script expects:

  • ainative-code_0.1.1_Darwin_arm64.tar.gz ← Expected name (doesn't exist)
  • ainative-code_0.1.1_Darwin_amd64.tar.gz ← Expected name (doesn't exist)

The goreleaser config creates a universal binary for macOS (Darwin_all), but the install script constructs URLs assuming architecture-specific binaries.

Suggested Fixes

Option 1: Update install.sh to handle Darwin_all

# In install.sh, add special case for macOS
if [ "$OS" = "Darwin" ]; then
    ARCHIVE_NAME="${BINARY_NAME}_${VERSION}_Darwin_all.tar.gz"
else
    ARCHIVE_NAME="${BINARY_NAME}_${VERSION}_${OS}_${ARCH}.tar.gz"
fi

Option 2: Update goreleaser to create arch-specific macOS binaries

In .goreleaser.yaml, create separate darwin/amd64 and darwin/arm64 archives instead of a universal binary.

Workaround

Users can manually download the universal binary:

curl -L -o ainative-code.tar.gz "https://github.com/AINative-Studio/ainative-code/releases/download/v0.1.1/ainative-code_0.1.1_Darwin_all.tar.gz"
tar -xzf ainative-code.tar.gz
chmod +x ainative-code
sudo mv ainative-code /usr/local/bin/

Environment

  • Platform: macOS (Darwin arm64 / Apple Silicon)
  • Release: v0.1.1
  • Date: 2026-01-08

Priority

High - Blocks all macOS users from using the install script.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions