github ddev/ddev v1.17.0-alpha1
v1.17.0-alpha1: Apple Silicon M1 Experimental Support

latest releases: v1.23.0, v1.23.0-rc2, v1.23.0-rc1...
pre-release3 years ago

Note that I gave the wrong link to the install_ddev.sh earlier, has been edited here. So if you used install_ddev.sh to install on Mac M1, please install again with https://raw.githubusercontent.com/drud/ddev/20201210_gotip_arm64/scripts/install_ddev.sh

Installation/Upgrade

See the installation instructions for details, but it's easy:

  • Please stop all projects first, this does no harm: ddev poweroff
  • macOS Apple Silicon M1: Use install_ddev.sh: curl -sSL -f https://raw.githubusercontent.com/drud/ddev/20201210_gotip_arm64/scripts/install_ddev.sh | bash -s - v1.17.0-alpha1
  • macOS Homebrew and Linux Linuxbrew (ddev-edge channel only): brew install drud/ddev-edge/ddev or just brew upgrade drud/ddev-edge/ddev ). (You may need a brew update for homebrew to find the new release.). Homebrew does not yet work with arm64, so if you're on Apple Silicon M1
  • Windows: Use choco upgrade -y --pre ddev to get this one, or download the ddev_windows_installer below.
  • Linux and macOS with the install_ddev.sh script: Download the script, make it executable, and run it with the version: ./install_ddev.sh <version>
  • And anywhere, you can just download the tarball or zipball, untar or unzip it, and place the executable in your path where it belongs.
  • Consider ddev delete images after upgrading to free up disk space used by previous docker image versions. This does no harm.

Key changes in v1.117.0-alpha1

  • Native support for Apple M1 machines!

Instructions and Workarounds for Apple M1

  1. Install the Docker Tech Preview 7.
  2. Use a terminal app that is not running. under Rosetta 2. So for example, if using iTerm, the "get info" checkbox should NOT say "Open using Rosetta".
  3. Install ddev with curl -sSL -f https://raw.githubusercontent.com/drud/ddev/20201210_gotip_arm64/scripts/install_ddev.sh | bash -s - v1.17.0-alpha1
  4. Check to make sure you got the arm64 version of ddev. file /usr/local/bin/ddev should show "/usr/local/bin/ddev: Mach-O 64-bit executable arm64". If it shows amd64, you have the wrong version of ddev.
  5. ddev --version should show the right version
  6. The Docker Tech Preview 7 does not yet provide the hostname "host.docker.internal" inside the container. On my machine it's 192.168.64.1, and may be the same on yours. You can find out what it is (temporary hack) by docker run -it --rm alpine nslookup junker99.com - the "Server" reported in the failed lookup seems to be host.docker.internal. If yours is not 192.168.64.1, then put what yours is into ~/.ddev/global_config.yaml host_docker_internal: xxx.xxx.xxx.xxx
  7. Once that works, you should be able to debug with an IDE like PHPStorm
  8. To get NFS going, there seems to be a difference in networking. Take the IP you found for host.docker.internal and add one and add it to /etc/exports in addition to "localhost". Mine ended up like this:
/Users/rfay -alldirs -mapall=501:20 localhost
/Users/rfay -alldirs -mapall=501:20 192.168.64.2

I was able to figure this out by running Console.app and searching for nfsd and watching for the failure IP address when I ran ddev debug nfsmount.

I'm happy to help you debug this, so ping me (rfay) on slack, or any other support venue

Don't miss a new ddev release

NewReleases is sending notifications on new releases.