XcodesOrg / xcodes

The best command-line tool to install and switch between multiple versions of Xcode.
MIT License
3.66k stars 122 forks source link

Installing via homebrew requires manual linking step if Xcodes GUI cask installed #151

Open commscheck opened 3 years ago

commscheck commented 3 years ago

Steps:

  1. brew install --cask xcodes to install the GUI app
  2. brew install robotsandpencils/made/xcodes to install the CLI

Behaviour:

$ xcodes version
zsh: command not found: xcodes
$ brew link xcodes
Linking /usr/local/Cellar/xcodes/0.17.0... 1 symlinks created.
$ xcodes version
0.17.0

Brew output during install:

$ brew install robotsandpencils/made/xcodes
==> Tapping robotsandpencils/made
Cloning into '/usr/local/Homebrew/Library/Taps/robotsandpencils/homebrew-made'...
remote: Enumerating objects: 83, done.
remote: Counting objects: 100% (36/36), done.
remote: Compressing objects: 100% (20/20), done.
remote: Total 83 (delta 8), reused 32 (delta 7), pack-reused 47
Receiving objects: 100% (83/83), 42.72 KiB | 2.37 MiB/s, done.
Resolving deltas: 100% (18/18), done.
Tapped 1 formula (15 files, 71.6KB).
==> Installing xcodes from robotsandpencils/made
==> Downloading https://github.com/RobotsAndPencils/xcodes/releases/download/0.17.0/xcodes-0.17.0.mojave.bottle.tar.gz
==> Downloading from https://github-releases.githubusercontent.com/171964196/753be900-7841-11eb-9635-36e1bcf2c174?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CS
######################################################################## 100.0%
==> Pouring xcodes-0.17.0.mojave.bottle.tar.gz
==> xcodes cask is installed, skipping link.
🍺  /usr/local/Cellar/xcodes/0.17.0: 2 files, 8MB

I assume it's the "skipping link" bit that's the issue, maybe because the formula and the cask have the same name?

shepting commented 3 years ago

This hit me as well. Not ideal.

martin-braun commented 1 year ago

Also, why do I have to install the CLI using brew install robotsandpencils/made/xcodes?

It would be much better to install the CLI using brew install xcodes and the GUI via brew install --cask xcodes like it's intended to be for Homebrew. GUIs are Cask apps, regulary.

muescha commented 1 year ago

somehow the both formulars are the same?

brew cat xcodes
class Xcodes < Formula
  desc "Install and switch between multiple versions of Xcode"
  homepage "https://github.com/RobotsAndPencils/xcodes"
  url "https://github.com/RobotsAndPencils/xcodes.git", tag: "1.0.0"
  head "https://github.com/RobotsAndPencils/xcodes.git", branch: "main"

  bottle do
    root_url 'https://github.com/RobotsAndPencils/xcodes/releases/download/1.0.0'
    sha256 cellar: :any_skip_relocation, mojave: "23f4ee4ecac29c8816011895d18da9e78f2ec1fa3184489809d6e126039fa499"
    sha256 cellar: :any_skip_relocation, arm64_mojave: "23f4ee4ecac29c8816011895d18da9e78f2ec1fa3184489809d6e126039fa499"
  end

  def install
    system "make", "install", "prefix=#{prefix}"
  end

  test do
    system "#{bin}/xcodes"
  end
end
brew cat robotsandpencils/made/xcodes
class Xcodes < Formula
  desc "Install and switch between multiple versions of Xcode"
  homepage "https://github.com/RobotsAndPencils/xcodes"
  url "https://github.com/RobotsAndPencils/xcodes.git", tag: "1.0.0"
  head "https://github.com/RobotsAndPencils/xcodes.git", branch: "main"

  bottle do
    root_url 'https://github.com/RobotsAndPencils/xcodes/releases/download/1.0.0'
    sha256 cellar: :any_skip_relocation, mojave: "23f4ee4ecac29c8816011895d18da9e78f2ec1fa3184489809d6e126039fa499"
    sha256 cellar: :any_skip_relocation, arm64_mojave: "23f4ee4ecac29c8816011895d18da9e78f2ec1fa3184489809d6e126039fa499"
  end

  def install
    system "make", "install", "prefix=#{prefix}"
  end

  test do
    system "#{bin}/xcodes"
  end
end
martin-braun commented 1 year ago

@muescha Thanks for confirming my observation. I had to find this issue sorely to find out how to install the CLI via Homebrew. I think it was a poor decision and I'm afraid there is no turning back, or is it?

ylluminate commented 1 year ago

Same trouble/observation here. Expected xcodes to get shell version, but then ended up with the GUI app cask. Tried GUI and it presented problems such as a hang on unarchiving (reported) and tried to go back here to see what's going on... Headache.