[Mac] 將 Homebrew Cask 安裝的 app 搬移到新的路徑 /usr/local/Caskroom 下
最近用 Homebrew Cask 的時候,常常會出現下面的警告訊息,
說用 Homebrew Cask 安裝的 app 的預設路徑已經被改到 /usr/local/Caskroom 了:
Warning: The default Caskroom location has moved to /usr/local/Caskroom. Please migrate your Casks to the new location and delete /opt/homebrew-cask/Caskroom, or if you would like to keep your Caskroom at /opt/homebrew-cask/Caskroom, add the following to your HOMEBREW_CASK_OPTS: --caskroom=/opt/homebrew-cask/Caskroom For more details on each of those options, see https://github.com/caskroom/homebrew-cask/issues/21913.
連到訊息下面的網址 (也就是 caskroom: How to migrate to the new location?) 看一下討論,
原本 Homebrew Cask 會將 app 裝在 /opt/homebrew-cask/Caskroom 下面,
然後在 ~/Applications 下建立對應的 symbolic link:
testuser@localhost ~ $ ll ~/Applications/
total 168
lrwxr-xr-x 1 testuser staff 81 May 17 08:08 Android Studio.app@ -> /opt/homebrew-cask/Caskroom/android-studio/2.1.1.0,143.2821654/Android Studio.app
lrwxr-xr-x 1 testuser staff 59 Oct 13 2015 AppCleaner.app@ -> /opt/homebrew-cask/Caskroom/appcleaner/3.0.2/AppCleaner.app
lrwxr-xr-x 1 testuser staff 51 Aug 27 2015 Appium.app@ -> /opt/homebrew-cask/Caskroom/appium/1.3.7/Appium.app
lrwxr-xr-x 1 testuser staff 73 Jun 29 2015 Beyond Compare.app@ -> /opt/homebrew-cask/Caskroom/beyond-compare/4.0.7.19761/Beyond Compare.app
drwx------@ 16 testuser staff 544 Jul 16 12:26 Chrome Apps.localized/
lrwxr-xr-x 1 testuser staff 63 Jul 3 2015 ControlPlane.app@ -> /opt/homebrew-cask/Caskroom/controlplane/1.5.7/ControlPlane.app
lrwxr-xr-x 1 testuser staff 55 Nov 27 2015 DiskWave.app@ -> /opt/homebrew-cask/Caskroom/diskwave/0.4.0/DiskWave.app
lrwxr-xr-x 1 testuser staff 54 Jun 29 2015 Dropbox.app@ -> /opt/homebrew-cask/Caskroom/dropbox/latest/Dropbox.app
lrwxr-xr-x 1 testuser staff 60 Sep 10 2015 Evernote.app@ -> /opt/homebrew-cask/Caskroom/evernote/6.1_452115/Evernote.app
lrwxr-xr-x 1 testuser staff 60 Jul 6 2015 FileZilla.app@ -> /opt/homebrew-cask/Caskroom/filezilla/3.11.0.2/FileZilla.app
lrwxr-xr-x 1 testuser staff 52 Jul 7 2015 Firefox.app@ -> /opt/homebrew-cask/Caskroom/firefox/39.0/Firefox.app
lrwxr-xr-x 1 testuser staff 59 Sep 7 2015 ImageOptim.app@ -> /opt/homebrew-cask/Caskroom/imageoptim/1.6.0/ImageOptim.app
lrwxr-xr-x 1 testuser staff 60 Oct 28 2015 LiveReload.app@ -> /opt/homebrew-cask/Caskroom/livereload/2.3.74/LiveReload.app
lrwxr-xr-x 1 testuser staff 47 Jan 18 2016 Pinta.app@ -> /opt/homebrew-cask/Caskroom/pinta/1.6/Pinta.app
lrwxr-xr-x 1 testuser staff 56 Feb 14 00:43 Seashore.app@ -> /opt/homebrew-cask/Caskroom/seashore/latest/Seashore.app
lrwxr-xr-x 1 testuser staff 53 Feb 7 11:54 ShiftIt.app@ -> /opt/homebrew-cask/Caskroom/shiftit/1.6.3/ShiftIt.app
lrwxr-xr-x 1 testuser staff 57 May 24 00:41 SourceTree.app@ -> /opt/homebrew-cask/Caskroom/sourcetree/2.3/SourceTree.app
lrwxr-xr-x 1 testuser staff 45 Mar 18 13:16 VLC.app@ -> /opt/homebrew-cask/Caskroom/vlc/2.2.2/VLC.app
lrwxr-xr-x 1 testuser staff 64 Dec 5 2015 XMind.app@ -> /opt/homebrew-cask/Caskroom/xmind/3.6.0.R-201511090408/XMind.app
lrwxr-xr-x 1 testuser staff 62 Feb 28 22:31 iTerm.app@ -> /opt/homebrew-cask/Caskroom/iterm2-beta/2.9.20160206/iTerm.app
lrwxr-xr-x 1 testuser staff 54 Sep 17 2015 p4v.app@ -> /opt/homebrew-cask/Caskroom/p4v/2014.3-1007540/p4v.app
lrwxr-xr-x 1 testuser staff 67 May 5 15:32 unetbootin.app@ -> /opt/homebrew-cask/Caskroom/unetbootin/613,212083654/unetbootin.app
現在等於是要把 /opt/homebrew-cask/Caskroom 改到 /usr/local/Caskroom,
然後也要將 symbolic link 重新指向新的位置~
有人已經提供寫好的 shell 指令來做這件事情:
mv /opt/homebrew-cask/Caskroom /usr/local for f in ~/Applications/*.app; do oldloc="$(readlink "$f")"; [[ -e $oldloc ]] || ln -sf "/usr/local${oldloc#/opt/homebrew-cask}" "$f"; done
執行之後,再看一下 symbolic link,的確都指向新的位置了:
testuser@localhost ~ $ ll ~/Applications/
total 168
lrwxr-xr-x 1 testuser staff 73 Jul 26 14:26 Android Studio.app@ -> /usr/local/Caskroom/android-studio/2.1.1.0,143.2821654/Android Studio.app
lrwxr-xr-x 1 testuser staff 51 Jul 26 14:26 AppCleaner.app@ -> /usr/local/Caskroom/appcleaner/3.0.2/AppCleaner.app
lrwxr-xr-x 1 testuser staff 43 Jul 26 14:26 Appium.app@ -> /usr/local/Caskroom/appium/1.3.7/Appium.app
lrwxr-xr-x 1 testuser staff 65 Jul 26 14:26 Beyond Compare.app@ -> /usr/local/Caskroom/beyond-compare/4.0.7.19761/Beyond Compare.app
drwx------@ 16 testuser staff 544 Jul 16 12:26 Chrome Apps.localized/
lrwxr-xr-x 1 testuser staff 55 Jul 26 14:26 ControlPlane.app@ -> /usr/local/Caskroom/controlplane/1.5.7/ControlPlane.app
lrwxr-xr-x 1 testuser staff 47 Jul 26 14:26 DiskWave.app@ -> /usr/local/Caskroom/diskwave/0.4.0/DiskWave.app
lrwxr-xr-x 1 testuser staff 46 Jul 26 14:26 Dropbox.app@ -> /usr/local/Caskroom/dropbox/latest/Dropbox.app
lrwxr-xr-x 1 testuser staff 52 Jul 26 14:26 Evernote.app@ -> /usr/local/Caskroom/evernote/6.1_452115/Evernote.app
lrwxr-xr-x 1 testuser staff 52 Jul 26 14:26 FileZilla.app@ -> /usr/local/Caskroom/filezilla/3.11.0.2/FileZilla.app
lrwxr-xr-x 1 testuser staff 44 Jul 26 14:26 Firefox.app@ -> /usr/local/Caskroom/firefox/39.0/Firefox.app
lrwxr-xr-x 1 testuser staff 51 Jul 26 14:26 ImageOptim.app@ -> /usr/local/Caskroom/imageoptim/1.6.0/ImageOptim.app
lrwxr-xr-x 1 testuser staff 52 Jul 26 14:26 LiveReload.app@ -> /usr/local/Caskroom/livereload/2.3.74/LiveReload.app
lrwxr-xr-x 1 testuser staff 39 Jul 26 14:26 Pinta.app@ -> /usr/local/Caskroom/pinta/1.6/Pinta.app
lrwxr-xr-x 1 testuser staff 48 Jul 26 14:26 Seashore.app@ -> /usr/local/Caskroom/seashore/latest/Seashore.app
lrwxr-xr-x 1 testuser staff 45 Jul 26 14:26 ShiftIt.app@ -> /usr/local/Caskroom/shiftit/1.6.3/ShiftIt.app
lrwxr-xr-x 1 testuser staff 49 Jul 26 14:26 SourceTree.app@ -> /usr/local/Caskroom/sourcetree/2.3/SourceTree.app
lrwxr-xr-x 1 testuser staff 37 Jul 26 14:26 VLC.app@ -> /usr/local/Caskroom/vlc/2.2.2/VLC.app
lrwxr-xr-x 1 testuser staff 56 Jul 26 14:26 XMind.app@ -> /usr/local/Caskroom/xmind/3.6.0.R-201511090408/XMind.app
lrwxr-xr-x 1 testuser staff 54 Jul 26 14:26 iTerm.app@ -> /usr/local/Caskroom/iterm2-beta/2.9.20160206/iTerm.app
lrwxr-xr-x 1 testuser staff 46 Jul 26 14:26 p4v.app@ -> /usr/local/Caskroom/p4v/2014.3-1007540/p4v.app
lrwxr-xr-x 1 testuser staff 59 Jul 26 14:26 unetbootin.app@ -> /usr/local/Caskroom/unetbootin/613,212083654/unetbootin.app
保險起見,我重開機之後,再次確認這些 app 都還可以使用…
簡單試了幾個,應該都是 OK 的喔~
(本頁面已被瀏覽過 352 次)