skip to Main Content

FYI Xcode 12.3, Mac M1.

When I run the Carthage command carthage update –platform iOS, Carthage fetches a repository that is not in the Cartfile. Can you please explain why?

To debug this I’ve uninstalled Carthage, cleaned cache etc, then reinstalled.

The following is a terminal log showing details. Note the Cartfile, shown below, does not contain CocoaLumberjack but Carthage still fetches it. Note that in a previous version of the Cartfile Cocoalumberjack was included.

paul@Pauls-Mac-mini nannup % brew uninstall carthage
Uninstalling /opt/homebrew/Cellar/carthage/0.36.1... (8 files, 7.4MB)
paul@Pauls-Mac-mini nannup % brew uninstall --force carthage
paul@Pauls-Mac-mini nannup % sudo rm -rf ~/Library/Caches/carthage     
Password:
paul@Pauls-Mac-mini nannup % ls -al /usr/local/bin/Cathage 
ls: /usr/local/bin/Cathage: No such file or directory
paul@Pauls-Mac-mini nannup % brew install carthage
Updating Homebrew...
==> Downloading https://homebrew.bintray.com/bottles/carthage-0.36.1.arm64_big_sur.bottle.tar.gz
Already downloaded: /Users/paul/Library/Caches/Homebrew/downloads/3bafbfa7dcc8f2622063f9e7fdd0120c68f04fc5efa14d5bbd2f49695b9b011c--carthage-0.36.1.arm64_big_sur.bottle.tar.gz
==> Pouring carthage-0.36.1.arm64_big_sur.bottle.tar.gz
==> Caveats
zsh completions have been installed to:
  /opt/homebrew/share/zsh/site-functions
==> Summary
🍺  /opt/homebrew/Cellar/carthage/0.36.1: 8 files, 7.4MB
paul@Pauls-Mac-mini nannup % xcodebuild -version
Xcode 12.3
Build version 12C33

paul@Pauls-Mac-mini nannup % cat Cartfile
github "devxoul/Toaster" == 2.3.0
github "SVGKit/SVGKit" "3.x"

paul@Pauls-Mac-mini nannup % rm -rf Carthage 
paul@Pauls-Mac-mini nannup % rm -rf Cartfile.resolved 
paul@Pauls-Mac-mini nannup % ls       
Cartfile        Nannup          Nannup.xcodeproj    T-Nannup        carthage.sh     contributors.txt    libs
paul@Pauls-Mac-mini nannup % carthage update --platform iOS
*** Fetching Toaster
*** Fetching SVGKit
*** Fetching CocoaLumberjack
*** Checking out CocoaLumberjack at "3.7.0"
*** Checking out SVGKit at "11b6d774d2710a8b1c0493146be5d56e56961946"
*** Checking out Toaster at "2.3.0"

Why is a repo not in the Cartfile being fetched?

2

Answers


  1. Chosen as BEST ANSWER

    Dumb question - SVGKit has a dependency on CocoaLumberjack


  2. This is a valid question when somebody is not an experience developer. But @pbm is right, many frameworks have dependencies theirselves and they have to be downloaded to make the framework work that you include.

    To abstract this complexity we have these nice dependency managers like Cocoapods, Carthage and SPM ☺️

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search