buo / homebrew-cask-upgrade Goto Github PK
View Code? Open in Web Editor NEWA command line tool for upgrading every outdated app installed by Homebrew Cask
License: MIT License
A command line tool for upgrading every outdated app installed by Homebrew Cask
License: MIT License
The video/image demoing this uses a range of colours in the text - I just installed and it's all monochrome - where do we pick that colorization up from...
After the latest Homebrew update there is an error:
brew cu
Error: cannot load such file -- vendor/homebrew-fork/global
/Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/local/Library/Taps/buo/homebrew-cask-upgrade/lib/extend/hbc.rb:3:in `<top (required)>'
/Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/local/Library/Taps/buo/homebrew-cask-upgrade/lib/bcu.rb:1:in `<top (required)>'
/Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/local/Library/Taps/buo/homebrew-cask-upgrade/cmd/brew-cu.rb:8:in `<top (required)>'
/Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/local/Library/Homebrew/brew.rb:22:in `require?'
/usr/local/Library/Homebrew/brew.rb:93:in `<main>'
The versions I use after the update:
brew --version
Homebrew 0.9.9 (git revision b77a6; last commit 2016-08-02)
Homebrew/homebrew-core (git revision c91f; last commit 2016-08-03)
brew cask --version
0.60.0 (git revision 991cb; last commit 2 hours ago)
First, thank you for great tool!
One minor complaint though, it issues warning "Warning: The default Caskroom location has moved to /usr/local/Caskroom." even i case of
$ echo $HOMEBREW_CASK_OPTS
--caskroom=/opt/homebrew-cask/Caskroom
It would be great to have a flag that didn't output anything in the case where no outdated apps were found (specifically, no apps that would show up in a "Found outdated apps" list). In normal operation this would then behave similarly to "brew upgrade".
Hiding output is easy, but I wouldn't want to hide actual useful (read: unexpected) output, and it doesn't seem to have a good way of differentiating between the two.
brew cu
fails with the following error
Error: cannot load such file -- hbc
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/local/Library/Taps/buo/homebrew-cask-upgrade/lib/extend/hbc.rb:5:in `<top (required)>'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/local/Library/Taps/buo/homebrew-cask-upgrade/lib/bcu.rb:1:in `<top (required)>'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/local/Library/Taps/buo/homebrew-cask-upgrade/cmd/brew-cu.rb:8:in `<top (required)>'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/local/Library/Homebrew/brew.rb:19:in `require?'
/usr/local/Library/Homebrew/brew.rb:93:in `<main>'
PR #11 updates lib/extend/hbc.rb
to use a working cask lib path.
Warning: Calling `brew cask update` is deprecated and will be disabled on 2017-07-01!
Use `brew update` instead.
/usr/local/Homebrew/Library/Taps/buo/homebrew-cask-upgrade/lib/bcu.rb:35:in `process'
Please report this to the buo/cask-upgrade tap!
Fail to upgrade adobe-reader
. Seems because adobe-reader
uses its own installer.
$ brew cu -y
==> Finding outdated apps
# Table skipped.
==> Found outdated apps
# Table skipped.
==> Upgrading adobe-reader to 15.023.20053
==> Satisfying dependencies
complete
==> Downloading http://ardownload.adobe.com/pub/adobe/reader/mac/AcrobatDC/1502320053/AcroRdrDC_1502320053_MUI.dmg
######################################################################## 100.0%
==> Verifying checksum for Cask adobe-reader
==> Running installer for adobe-reader; your password may be necessary.
==> Package installers may write to any location; options such as --appdir are ignored.
Password:
==> installer: Package name is Adobe Acrobat Reader DC (Continuous)
==> installer: Upgrading at base path /
==> installer: The upgrade failed (The Installer encountered an error that caused the installation to fail. Contact the soft
Error: Command failed to execute!
==> Failed command:
/usr/bin/sudo -E -- /usr/sbin/installer -pkg #<Pathname:/usr/local/Caskroom/adobe-reader/15.023.20053/AcroRdrDC_1502320053_MUI.pkg> -target /
==> Standard Output of failed command:
installer: Package name is Adobe Acrobat Reader DC (Continuous)
installer: Upgrading at base path /
installer: The upgrade failed (The Installer encountered an error that caused the installation to fail. Contact the software manufacturer for assistance.)
==> Standard Error of failed command:
==> Exit status of failed command:
#<Process::Status: pid 51660 exit 1>
Error: nothing to install
brew doctor
$ brew doctor
Your system is ready to brew.
brew cask doctor
$ brew cask doctor
==> Homebrew-Cask Version
Homebrew-Cask 1.1.12
caskroom/homebrew-cask (git revision ceb2b; last commit 2017-04-14)
==> Homebrew-Cask Install Location
<NONE>
==> Homebrew-Cask Staging Location
/usr/local/Caskroom
==> Homebrew-Cask Cached Downloads
~/Library/Caches/Homebrew/Cask (4 files, 422.4MB)
==> Homebrew-Cask Taps:
/usr/local/Homebrew/Library/Taps/caskroom/homebrew-cask (3633 casks)
/usr/local/Homebrew/Library/Taps/bradp/homebrew-vv (0 casks)
/usr/local/Homebrew/Library/Taps/buo/homebrew-cask-upgrade (0 casks)
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core (0 casks)
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-dupes (0 casks)
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-php (0 casks)
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-services (0 casks)
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-versions (0 casks)
==> Contents of $LOAD_PATH
/usr/local/Homebrew/Library/Homebrew/cask/lib
/usr/local/Homebrew/Library/Homebrew
/Library/Ruby/Site/2.0.0
/Library/Ruby/Site/2.0.0/x86_64-darwin16
/Library/Ruby/Site/2.0.0/universal-darwin16
/Library/Ruby/Site
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/vendor_ruby/2.0.0
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/vendor_ruby/2.0.0/x86_64-darwin16
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/vendor_ruby/2.0.0/universal-darwin16
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/vendor_ruby
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/x86_64-darwin16
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin16
==> Environment Variables
LANG="en_US.UTF-8"
LC_CTYPE="UTF-8"
PATH="~/.rvm/gems/ruby-2.4.1/bin:~/.rvm/gems/ruby-2.4.1@global/bin:~/.rvm/rubies/ruby-2.4.1/bin:~/.nvm/versions/node/v7.8.0/bin:~/.nvm/versions/node/v7.8.0/bin:/usr/local/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:~/.composer/vendor/bin:~/.rvm/bin:/usr/local/Homebrew/Library/Taps/buo/homebrew-cask-upgrade/cmd:/usr/local/Homebrew/Library/Taps/homebrew/homebrew-services/cmd:/usr/local/Homebrew/Library/Homebrew/shims/scm"
SHELL="/usr/local/bin/zsh"
brew config
$ brew config
HOMEBREW_VERSION: 1.1.12
ORIGIN: https://github.com/Homebrew/brew
HEAD: 8ea778f7c7ea790694485030d105a92a9416ef33
Last commit: 11 days ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: abaaf12cc4359ad9a43bd127cdfdd254d0760714
Core tap last commit: 2 hours ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_REPOSITORY: /usr/local/Homebrew
HOMEBREW_CELLAR: /usr/local/Cellar
HOMEBREW_BOTTLE_DOMAIN: https://homebrew.bintray.com
CPU: quad-core 64-bit sandybridge
Homebrew Ruby: 2.0.0-p648
Clang: 8.1 build 802
Git: 2.12.2 => /usr/local/bin/git
Perl: /usr/bin/perl
Python: /usr/bin/python
Ruby: /Users/tangrufus/.rvm/rubies/ruby-2.4.1/bin/ruby
Java: 1.8.0_112
macOS: 10.12.4-x86_64
Xcode: N/A
CLT: 8.3.0.0.1.1490382677
X11: N/A
sw_vers
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.12.4
BuildVersion: 16E195
I got this warning while upgrading using brew cu -a
:
Warning: It seems there is already an App at '/Applications/IntelliJ IDEA.app'; overwriting.
I assume that homebrew-cask-upgrade
issues brew cask install --force
instead of brew cask reinstall
. Would it hurt to use reinstall
instead? I'd strongly assume this would get rid of the warning.
First of all, I suggest to use two-digit (or three) numbers while listing installed apps (it's easier to read when everything is aligned. So it will become 05/75 instead of 5/75)
Second thing I suggest is text coloring - it seems to be that the phrase 'up to date' should be green, old version is red and a new version is green too. It makes text easier to read.
I installed this and ran it with the brew cu -facy command line.
It goes through a whole much of stuff, about installs. About ten things to be installed - it appears to do that...
Just to be sure, I issue the command again - it should (in theory) come back with "nothing to update" or similar. Nope, it goes through and downloads and installs them all again.
Here is the tail end of what happens - and it will keep happening, as if nothing has been updated. Huh?
E.g.:
brew cask info google-chrome
google-chrome: latest
https://www.google.com/chrome/
/usr/local/Caskroom/google-chrome/latest (3 files, 275.6K)
From: https://github.com/caskroom/homebrew-cask/blob/master/Casks/google-chrome.rb
==> Name
Google Chrome
==> Artifacts
Google Chrome.app (app)
It would be nice if we could specify something like brew cu -l
or brew cu --latest
and while looking for casks to upgrade, it would identify the ones which are marked as latest
and force install them (essentially downloading a fresh copy).
When the apps have Current and Latest set to "latest" are updated every time I launch
brew cu -ay
even if they are already at the last version.
To reproduce this behavior, you can try one of these ones:
==================================================================================================
No. Name Cask Current Latest Auto-Update State
==================================================================================================
1/7 0xED 0xed latest latest forced to upgrade
2/7 Android File Transfer android-file-transfer latest latest forced to upgrade
3/7 Google Chrome google-chrome latest latest Y forced to upgrade
4/7 Google Drive google-drive latest latest forced to upgrade
5/7 Skype skype latest latest Y forced to upgrade
6/7 Spotify spotify latest latest Y forced to upgrade
7/7 Steam steam latest latest Y forced to upgrade
==================================================================================================
please add:
[ ] brew cu help
[ ] brew cu --help
that are the first commands i tried
Error: private method load' called for Hbc:Module /usr/local/Homebrew/Library/Taps/buo/homebrew-cask-upgrade/lib/extend/hbc.rb:38:in
block in each_installed'
/usr/local/Homebrew/Library/Taps/buo/homebrew-cask-upgrade/lib/extend/hbc.rb:36:in each' /usr/local/Homebrew/Library/Taps/buo/homebrew-cask-upgrade/lib/extend/hbc.rb:36:in
each_with_index'
/usr/local/Homebrew/Library/Taps/buo/homebrew-cask-upgrade/lib/extend/hbc.rb:36:in each_installed' /usr/local/Homebrew/Library/Taps/buo/homebrew-cask-upgrade/lib/extend/hbc.rb:10:in
outdated'
/usr/local/Homebrew/Library/Taps/buo/homebrew-cask-upgrade/lib/bcu.rb:50:in process' /usr/local/Homebrew/Library/Taps/buo/homebrew-cask-upgrade/cmd/brew-cu.rb:10:in
<top (required)>'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in require' /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in
require'
/usr/local/Homebrew/Library/Homebrew/brew.rb:24:in require?' /usr/local/Homebrew/Library/Homebrew/brew.rb:97:in
I believe this tool should be part of homebrew-cask
. Any thoughts?
When I run brew cu --dry-run
the application teamviewer
for example is up to date
. However, when I run the command brew cu --all
then teamviewer
is no longer up to date
, it is instead latest but forced to upgrade
and the application will be reinstalled (same version).
How can I avoid the the forced upgrade?
If I upgrade an app within the app and when I run brew cu
, I will still see the app as outdated.
Everything seems to work perfectly, but still getting this error.
Alexs-MBP-3:~ Alex$ brew cu
Warning: Calling `brew cask update` is deprecated and will be disabled on 2017-07-01!
Use `brew update` instead.
/usr/local/Homebrew/Library/Taps/buo/homebrew-cask-upgrade/lib/bcu.rb:50:in `process'
Please report this to the buo/cask-upgrade tap!
==> Already up-to-date.
(01/48) 1Password (1password): ==> up to date
(02/48) Adobe AIR (adobe-air): ==> up to date
(03/48) Adobe Acrobat Reader DC (adobe-reader): ==> up to date
(04/48) Alfred (alfred): ==> up to date
(05/48) AppDelete (appdelete): ==> up to date
(06/48) Github Atom (atom): ==> up to date
(07/48) calibre (calibre): ==> up to date
(08/48) Piriform CCleaner (ccleaner): ==> up to date
(09/48) Deeper (deeper): ==> up to date
(10/48) Dropbox (dropbox): ==> up to date
(11/48) Etcher (etcher): ==> up to date
(12/48) f.lux (flux): ==> up to date
(13/48) Folx (folx): ==> up to date
(14/48) Free Download Manager (free-download-manager): ==> up to date
(15/48) GeekTool (geektool): ==> up to date
(16/48) GIMP (gimp): ==> up to date
(17/48) Google Chrome (google-chrome-beta): ==> up to date
(18/48) Google Drive (google-drive): ==> up to date
(19/48) Google Photos Backup (google-photos-backup): ==> up to date
(20/48) GPG Suite (gpgtools): ==> up to date
(21/48) Grammarly (grammarly): ==> up to date
(22/48) HandBrake (handbrake): ==> up to date
(23/48) Icons8 App (icons8): ==> up to date
(24/48) ImageOptim (imageoptim): ==> up to date
(25/48) Inkscape (inkscape): ==> up to date
(26/48) iOS App Signer (ios-app-signer): ==> up to date
(27/48) Java Standard Edition Development Kit (java): ==> up to date
(28/48) Keka (keka): ==> up to date
(29/48) Kindle for Mac (kindle): ==> up to date
(30/48) Kindle Previewer (kindlepreviewer): ==> up to date
(31/48) Kodi (kodi): ==> up to date
(32/48) LibreOffice (libreoffice): ==> up to date
(33/48) LibreOffice Language Pack (libreoffice-language-pack): ==> up to date
(34/48) LimeChat (limechat): ==> up to date
(35/48) Maintenance (maintenance): ==> up to date
(36/48) OnyX (onyx): ==> up to date
(37/48) Sigil (sigil): ==> up to date
(38/48) Skype (skype): ==> up to date
(39/48) Slack (slack): ==> up to date
(40/48) Spotify (spotify): ==> up to date
(41/48) TeamViewer (teamviewer): ==> up to date
(42/48) The Unarchiver (the-unarchiver): ==> up to date
(43/48) Tor Browser (torbrowser): ==> up to date
(44/48) Tower (tower): ==> up to date
(45/48) Transmission (transmission): ==> up to date
(46/48) UNetbootin (unetbootin): ==> up to date
(47/48) VLC media player (vlc): ==> up to date
(48/48) XQuartz (xquartz): ==> up to date
/usr/local/Homebrew/Library/Taps/buo/homebrew-cask-upgrade/lib/extend/hbc.rb:14:in block in installed_apps' /usr/local/Homebrew/Library/Taps/buo/homebrew-cask-upgrade/lib/extend/hbc.rb:5:in
map'
/usr/local/Homebrew/Library/Taps/buo/homebrew-cask-upgrade/lib/extend/hbc.rb:5:in installed_apps' /usr/local/Homebrew/Library/Taps/buo/homebrew-cask-upgrade/lib/bcu.rb:50:in
find_outdated_apps'
/usr/local/Homebrew/Library/Taps/buo/homebrew-cask-upgrade/lib/bcu.rb:12:in process' /usr/local/Homebrew/Library/Taps/buo/homebrew-cask-upgrade/cmd/brew-cu.rb:10:in
<top (required)>'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in require' /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in
require'
/usr/local/Homebrew/Library/Homebrew/brew.rb:24:in require?' /usr/local/Homebrew/Library/Homebrew/brew.rb:97:in
running on 10.12.3
I am not very familiar with brew taps. Is there any need to update homebrew-cask-upgrade
itself? If so, how is that done?
would nice to have a column autoupdate
with info from cask if true
❯ brew cask uninstall android-studio-canary
==> Uninstalling Cask android-studio-canary
==> Removing App '/Applications/Android Studio 3.0 Preview.app'.
I have already uninstalled android-studio-canary as seen above (even trashed all of its files using AppCleaner). However every time I run brew cu --yes --cleanup
from my alias a reinstallation is initiated. anyone know how to remove it once and for all?
run brew cu
, has nothing results display
==> Finding outdated apps
====================================================
No. Name Cask Current Latest Auto-Update State
====================================================
====================================================
There is no replacement.
/usr/local/Homebrew/Library/Taps/buo/homebrew-cask-upgrade/lib/extend/hbc.rb:39:in `load_cask'
Please report this to the buo/cask-upgrade tap!
Looking over your code, you install all updated Casks to /Applications, even if they were installed using the --appdir=path parameter and resided somewhere else. Could you update the command to rectify this? If that isn’t possible for some reason, I’d settle for the ability to specify or exclude Casks with the command, perhaps via config file.
Hi, during the sequence:
brew cu --all --yes --cleanup
brew cask cleanup
The following error is returned. I've seen it on apps other than flux.
==> Found outdated apps
=================================================================
No. Name Cask Current Latest Auto-Update State
=================================================================
1/1 f.lux flux 39.98 39.981 Y forced to upgrade
=================================================================
==> Upgrading flux to 39.981
==> Downloading https://justgetflux.com/mac/Flux39.981.zip
######################################################################## 100.0%
==> Verifying checksum for Cask flux
==> Installing Cask flux
Warning: It seems there is already an App at '/Applications/Flux.app'; overwriting.
==> Removing App '/Applications/Flux.app'.
==> Moving App 'Flux.app' to '/Applications/Flux.app'.
🍺 flux was successfully installed!
Error: undefined method `default' for Hbc::CLI::Cleanup:Class
/usr/local/Homebrew/Library/Taps/buo/homebrew-cask-upgrade/lib/bcu.rb:47:in `process'
/usr/local/Homebrew/Library/Taps/buo/homebrew-cask-upgrade/cmd/brew-cu.rb:29:in `<top (required)>'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/local/Homebrew/Library/Homebrew/brew.rb:25:in `require?'
/usr/local/Homebrew/Library/Homebrew/brew.rb:106:in `<main>'
==> Removing cached downloads
/Users/jking/Library/Caches/Homebrew/Cask/flux--39.981.zip
==> This operation has freed approximately 1.7MB of disk space.
Homebrew-Cask 1.2.2-2-gb9cfd2cb5
caskroom/homebrew-cask (git revision a2b37; last commit 2017-06-05)
I want add a cron job for automatic brew cask upgrade, something like virtualbox need super user privilege for installation. Does this possible achievable?
What is the usual purpose of using the -f
flag? When I have it, it continually reinstalls applications that are already at their latest versions.
Readme:
-f --force Include apps that are marked as latest (i.e. force-reinstall them)
It doesn't appear to me that the flag is similar to brew cask reinstall x
since that would reinstall all applications. It just acts on the applications denominated as "latest". What does that indeed mean in cask-speak?
Thank you again, but another small drawback: cask-upgrade removes outdated packages themselves but does not remove outdated entry from /.metadata
Great improvement on brew cask. I've been looking for an easy way to maintain cask modules.
One suggestion, give me a command-line option to run "brew cask cleanup" automatically after the "brew cu" run is complete.
Thanks!
% brew cu
Error: cannot load such file -- hbc
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/local/Homebrew/Library/Taps/buo/homebrew-cask-upgrade/lib/extend/hbc.rb:3:in `<top (required)>'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/local/Homebrew/Library/Taps/buo/homebrew-cask-upgrade/lib/bcu.rb:1:in `<top (required)>'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/local/Homebrew/Library/Taps/buo/homebrew-cask-upgrade/cmd/brew-cu.rb:8:in `<top (required)>'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/local/Homebrew/Library/Homebrew/brew.rb:23:in `require?'
/usr/local/Homebrew/Library/Homebrew/brew.rb:105:in `<main>'
This happened somewhere after changes related to Homebrew/brew#987.
Brew-cask-upgrade is always upgrading all my casks (instead upgrading only the outdated) every time I run it. Since Verion 1.0.0.
Thanks
The upgrade process stops when a cask is not available after brew update
. In my case,
tony@pandora ~> brew cu
(1/44) 010-editor: up to date
(2/44) alfred: up to date
(3/44) appcleaner: up to date
(4/44) atom: 1.8.0 -> 1.9.9
(5/44) audacity: up to date
(6/44) balsamiq-mockups: 3.4.2 -> 3.4.4
(7/44) bettertouchtool: 1.75 -> 1.82
(8/44) bittorrent-sync: up to date
(9/44) caffeine: up to date
(10/44) charles: 3.11.5 -> 4.0
(11/44) darktable: up to date
Error: No available Cask for dockertoolbox (!)
tony@pandora ~>
I think it would be nice if we just ignore the exception because people use brew cu
for automatic update.
==> Upgrading sonic-visualiser to 3.0.3,2249
==> Satisfying dependencies
==> Downloading https://code.soundsoftware.ac.uk/attachments/download/2249/Sonic%20Visualiser-3.0.3.dmg
######################################################################## 100,0%
==> Verifying checksum for Cask sonic-visualiser
==> Installing Cask sonic-visualiser
Warning: It seems there is already an App at '/Applications/Sonic Visualiser.app'; overwriting.
==> Removing App '/Applications/Sonic Visualiser.app'.
==> Moving App 'Sonic Visualiser.app' to '/Applications/Sonic Visualiser.app'.
🍺 sonic-visualiser was successfully installed!
Error: undefined method `default' for Hbc::CLI::Cleanup:Class
/usr/local/Homebrew/Library/Taps/buo/homebrew-cask-upgrade/lib/bcu.rb:47:in `process'
/usr/local/Homebrew/Library/Taps/buo/homebrew-cask-upgrade/cmd/brew-cu.rb:29:in `<top (required)>'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/local/Homebrew/Library/Homebrew/utils.rb:20:in `require?'
/usr/local/Homebrew/Library/Homebrew/brew.rb:99:in `<main>'
Seems to be looking for something that's missing from vendor/homebrew-fork/global
[.../homebrew-cask/Casks] > brew-cask-upgrade
/usr/local/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- exceptions (LoadError)
from /usr/local/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/local/Library/Taps/caskroom/homebrew-cask/lib/vendor/homebrew-fork/global.rb:1:in `<top (required)>'
from /usr/local/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/local/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/local/lib/ruby/gems/2.3.0/gems/brew-cask-upgrade-1.0.1/lib/brew-cask-upgrade.rb:5:in `<top (required)>'
from /usr/local/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/local/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/local/lib/ruby/gems/2.3.0/gems/brew-cask-upgrade-1.0.1/bin/brew-cask-upgrade:5:in `<top (required)>'
from /usr/local/bin/brew-cask-upgrade:22:in `load'
from /usr/local/bin/brew-cask-upgrade:22:in `<main>'
Output of gem list
*** LOCAL GEMS ***
bigdecimal (default: 1.2.8)
brew-cask-upgrade (1.0.1)
did_you_mean (1.0.0)
io-console (default: 0.4.5)
json (default: 1.8.3)
minitest (5.8.3)
net-telnet (0.1.1)
power_assert (0.2.6)
psych (default: 2.0.17)
rake (10.4.2)
rdoc (default: 4.2.1)
test-unit (3.1.5)
Output of ruby --version
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]
Likely related to either Homebrew/homebrew-cask#22574 or Homebrew/homebrew-cask#22464
Up until today "brew cu" has been working great! But today I get this error, then it stops:
(1/31) apache-directory-studio: up to date
(2/31) atom: 1.10.2 -> 1.11.0
(3/31) discord: up to date
(4/31) docker: up to date
Error: File '/Users/abutler/dropbox' is not a plain file
What it is complaining about is a folder, not a file. It's where I have my Dropbox folder.
Hi, on today's run I got this error on trying to upgrade Wireshark (after entering sudo password).
Thanks!
(38/38) wireshark: -> 2.2.2
==> Upgrading wireshark to 2.2.2
==> Downloading https://www.wireshark.org/download/osx/Wireshark%202.2.2%20Intel%2064.dmg
######################################################################## 100.0%
==> Verifying checksum for Cask wireshark
==> Running installer for wireshark; your password may be necessary.
==> Package installers may write to any location; options such as --appdir are ignored.
Password:
==> installer: Package name is Wireshark 2.2.2 Intel 64
==> installer: Upgrading at base path /
==> installer: The upgrade failed (The Installer encountered an error that caused the installation to fail. Contact the
Error: Command failed to execute!
==> Failed command:
/usr/bin/sudo -E -- /usr/sbin/installer -pkg #<Pathname:/usr/local/Caskroom/wireshark/2.2.2/Wireshark 2.2.2 Intel 64.pkg> -target /
==> Standard Output of failed command:
installer: Package name is Wireshark 2.2.2 Intel 64
installer: Upgrading at base path /
installer: The upgrade failed (The Installer encountered an error that caused the installation to fail. Contact the software manufacturer for assistance.)
==> Standard Error of failed command:
==> Exit status of failed command:
#<Process::Status: pid 12714 exit 1>
brew cu --dry-run --cask postman
should show also the current installed version:
Postman (postman): ==> v4.10.2 up to date
Hi,
I'm using homebrew-cask-upgrade for pretty long time with great satisfaction. Unfortunately, suddenly the brew cu
stops working as expected. Normally, the command outputs current state for all casks but now the output is empty. I would appreciate any suggestions for debugging the problem as I'm not a ruby developer at all.
TIA
Sergey
Now brew install
will trigger brew update
by default. It's controlled by env variable HOMEBREW_NO_AUTO_UPDATE
. It will be a good idea that brew cu
follow the same logic.
Hi buo,
One issue with name of brew command:
brew and brew cask are actually two repositories, mainly the previous is responsible for CLI, while the latter for GUI, thus brew update
conflicts to the previous one, and to avoid this, I recommend use a new one or just the command in bin directory.
Another issue is with hint displayed while typing in the terminal, which is awesome, I was wondering which terminal you are using and if you can share the configuration files with us?
Many thanks and happy new year!
Hal,
First of all, thank you so much for your work on creating and maintaining the proper CLI package manager for macOS!
To the issue -- right now the -a
option force-upgrades "latest" apps as well as those that auto-update without the recourse to force upgrade only "ignored" apps which auto-update themselves. I personally have a whole bunch of those "latest" apps and it seems wasteful to force-upgrade them when all I want to do is upgrade the outdated apps.
The whole reason I'm using the separate package manager is that I want an ability to update all my outdated apps in one go rather than to rely on apps' built-in auto-update feature. I would suggest to stop ignoring (and not updating thru cask-upgrade) apps that have auto-update built-in.
If that doesn't align with your view, please give us an option of force-upgrading only outdated ignored apps, without force-upgrading latest apps as well.
Thanks again!
Thank you for your time in developing this great tool.
It was working fine until yesterday. However, Today when I ran brew cu
, I got lots of these warnings -
Warning: Calling Hbc::DSL#license is deprecated!
There is no replacement.
/usr/local/Homebrew/Library/Taps/buo/homebrew-cask-upgrade/lib/extend/hbc.rb:11:in `block in outdated'
Please report this to the buo/cask-upgrade tap!
Any idea what might be causing this?
In cask there is option brew pin
wich prevents brew upgrade
from updating some cask.
(more info here Homebrew/legacy-homebrew#35714)
I manually pinned cask via brew pin caskroom/cask/jing
but brew cu
still trying to update it!
Maybe skip pinned casks?
It happened after the latest "brew update", without updating any package.
What could be?
brew-cask-upgrade
/usr/local/Library/Homebrew/download_strategy.rb:6:in `<class:AbstractDownloadStrategy>': uninitialized constant AbstractDownloadStrategy::FileUtils (NameError)
from /usr/local/Library/Homebrew/download_strategy.rb:5:in `<top (required)>'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/local/Library/Homebrew/resource.rb:1:in `<top (required)>'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/local/Library/Homebrew/extend/pathname.rb:2:in `<top (required)>'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/local/Library/Taps/caskroom/homebrew-cask/lib/vendor/homebrew-fork/global.rb:2:in `<top (required)>'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /Library/Ruby/Gems/2.0.0/gems/brew-cask-upgrade-1.0.2/lib/brew-cask-upgrade.rb:6:in `<top (required)>'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /Library/Ruby/Gems/2.0.0/gems/brew-cask-upgrade-1.0.2/bin/brew-cask-upgrade:5:in `<top (required)>'
from /usr/local/bin/brew-cask-upgrade:23:in `load'
from /usr/local/bin/brew-cask-upgrade:23:in `<main>'
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.