brew не хочет обновлять codex?🔧 Написал скрипт, который берёт свежак из репозитория.
⬇️ Пользуйся:
#!/usr/bin/env bash
set -e
echo "🔍 Detecting system architecture..."
ARCH=$(uname -m)
OS=$(uname -s)
VERSION=$(curl -s https://api.github.com/repos/openai/codex/releases/latest | grep -o '"tag_name": *"[^"]*"' | cut -d'"' -f4)
BASE_URL="https://github.com/openai/codex/releases/download/${VERSION}"
EXT=".tar.gz"
# Определяем правильный бинарь
if [[ "$OS" == "Darwin" ]]; then
if [[ "$ARCH" == "arm64" ]]; then
FILE="codex-aarch64-apple-darwin"
else
FILE="codex-responses-api-proxy-x86_64-apple-darwin"
fi
elif [[ "$OS" == "Linux" ]]; then
if [[ "$ARCH" == "aarch64" ]]; then
FILE="codex-aarch64-unknown-linux-musl"
else
FILE="codex-x86_64-unknown-linux-musl"
fi
else
echo "❌ Unsupported OS: $OS"
exit 1
fi
DEST="/usr/local/bin/codex"
if [[ "$OS" == "Darwin" && -d "/opt/homebrew/bin" ]]; then
DEST="/opt/homebrew/bin/codex"
fi
echo "⬇️ Downloading ${FILE}${EXT} from Codex ${VERSION}..."
curl -fL -o codex.tmp "${BASE_URL}/${FILE}${EXT}" || {
echo "❌ Download failed — release or file not found at ${BASE_URL}/${FILE}${EXT}"
exit 1
}
mv codex.tmp codex.tar.gz
mkdir -p codex_unpack
tar -xzf codex.tar.gz -C codex_unpack || {
echo "⚠️ tar extraction failed, maybe it's pure gzip. Trying gunzip..."
gunzip -c codex.tar.gz > codex_unpack/codex
}
# Ищем бинарь "codex" или файл, начинающийся с codex-
BIN_PATH=$(find codex_unpack -type f \( -name "codex" -o -name "codex-*" \) | head -n 1)
if [[ -z "$BIN_PATH" ]]; then
echo "❌ Could not find extracted codex binary after unpacking."
echo " Contents of archive:"
ls -R codex_unpack
exit 1
fi
echo "⚙️ Installing to ${DEST}..."
sudo mv "$BIN_PATH" "$DEST"
sudo chmod +x "$DEST"
rm -rf codex_unpack codex.tar.gz
echo "✅ Codex updated successfully!"
"$DEST" --version