Solveddocker sync Can't run docker-sync after upgrading to Xcode 11

Error/Feature Requestion/Docs

My Mac auto-upgraded Xcode to version 11 today and ever since then I'm unable to run docker sync. Whenever I do I get the following error:

mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/include/ruby.h

Docker Driver

docker-machine+vbox (I think?)

Sync strategy

default

your docker-sync.yml

version: "2"

syncs:
  #IMPORTANT: ensure this name is unique and does not match your other application container name
  partnerbase-api: #tip: add -sync and you keep consistent names as a convention
    src: './'
    notify_terminal: true
    sync_userid: ${UID}
    sync_excludes: ['.git', 'local-m2']
    watch_args: '-v' # make watching verbose
    monit_enable: true
    monit_interval: 5
    monit_high_cpu_cycles: 2

OS

OSX Mojave

16 Answers

✔️Accepted Answer

A work-around is to install rvm:

\curl -sSL https://get.rvm.io | bash
rvm install "ruby-2.3.8"
rvm use 2.3
gem install docker-sync

Other Answers:

FYI for everyone on Mac 10.14+ the below works perfectly to address this issue:

sudo rm -rf /Library/Developer/CommandLineTools
xcode-select --install
sudo xcodebuild -license accept
open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

Guys please understand, docker-sync is no "ruby schooling" or "how OSX deals with ruby" or how "homebrew works with ruby".

I understand, that docker-sync's dependency on ruby is a burden and at some point involves this kind of topics - but on this level, docker-sync points at developers. That said, i understand that it is the responsibility of each develop to deal with the devop topic on how to run ruby on OSX and what is required to do so.

This issue queue is also not able to provide you find the additional informations on how ruby evaluates PATH and how it deals with multi-version installation, now how to deal with PATH in general and how scoping works - this is all out of scope. Those are alltogether normal OSX/Linux topics and have nothing to do with docker-sync at all.

Installing, maintaining and fixing ruby, before or after or during a OSX migration, cannot be really disucssed in docker-sync's issues.

You find all those topics on the web / homebrew issues / OSX related issues since they have absolutely nothing to do with docker-sync.

Docker-sync is a ruby gem and it runs as a normal ruby gem - no strings attached.

Thanks for your understanding!

More Issues: