Update Homebrew casks versions - macos

I know, that Homebrew doesn't upgrade casks with auto-update (without force). So eventually, software versions, actually installed, and tracked by Homebrew, become different. For example:
$ brew cask outdated --greedy
firefox (79.0) != 80.0
google-chrome (84.0.4147.105) != 85.0.4183.83
microsoft-edge (84.0.522.48) != 85.0.564.41
Firefox, Chrome and Edge auto-updates themselves and actually has latest versions. But Homebrew doesn't know about it.
So, is there a way to tell Homebrew, that some cask is the latest version already, without reinstalling cask with brew? Just update record in Homebrew database (or whatever brew stores casks' versions in).

Apparently, there is no official way to do it.
Following related GitHub conversation I wrote my own script to fulfil my obsession of checking versions :)
If anyone wants to use it — use it on your own risk, you will get no support for issues that arise from this approach. Also, I tried to make neat and robust script, which backups data, but if script will remove any of your data — I'm not responsible for that. I encourage you to read the script and understand, what it is doing.

Related

bash: /home/linuxbrew/.linuxbrew/bin/go: Bad address

I did an brew upgrade and afterwards keep getting an bad address error.
Tried to uninstall/reinstall everything, but cant figure out what is the problem.
bash: /home/linuxbrew/.linuxbrew/bin/go: Bad address
Im new to terminal and linux, so all advice is welcome.
I tried brew doctor. It says "No developer tools installed." and after i 'brew install gcc' it says gcc is already installed and up-to-date.
Use the official Go installation:
Go: Download and install
For full support, avoid OS package managers, Homebrew, and so forth.
First, remove any previous installations by other methods, for example, Homebrew.
Little late, but this post was a suggestion for me when I ran into a similar issue with Go and Brew.
When Brew updates the version of Go (1.19.3 -> 1.19.5 in my case) that it is providing, for some reason it does not correctly update the GOROOT environment varaible. Correcting the value of the variable fixed the issue for me.
export GOROOT=/home/linuxbrew/.linuxbrew/Cellar/go/<go_version>/libexec
# example
export GOROOT=/home/linuxbrew/.linuxbrew/Cellar/go/1.19.5/libexec

Using Local Dependencies with Homebrew

Is there a way to get Homebrew to recognize that a dependency is already installed outside of Homebrew?
For example, I prefer to install programming languages via a tool like asdf/nvm/rvm/etc so I can easily manage multiple versions. However, if a Homebrew formula lists node, for example, as a dependency, Homebrew will install another version of node that will never actually get used.
Can I tell it I already have node installed?
Homebrew is build/distribution tool, it does not manage user specific stuff nor it does have permissions to do it.
brew install process is in install.rb, you can check out more for details.
All the core team maintained formula are in homebrew-core and cask formula are in homebrew-cask.

Installing packages through bash scripting

I have never written any bash scripts at this point and my understanding of them is still pretty green. I was curious after reformatting my Mac if it is possible to write a script that does the majority of installs in an automated fashion?
For instance I use homebrew so maybe a portion of the script could verify if this is on the Mac and if not then initiate the install. Then it could proceed with the list of brew install & brew cask installs.
This is something that after realizing how much I had installed and had to remember and still am remembering to install I think would be pretty cool to make...I just don't know if a) it's possible with the macOS or how-to (I'll read up on the how-to). I'm not even too sure if bash-scripts would be the thing to use for something like this or not. Thanks in advance for any information!
on an RPM based system I would eventually list the packages installed, backup the list and then chain it in a yum install command.
For instance:
yum list installed
A
B
C
then to reinstall
yum install A B C -y
Extremely easy and straight forward.
I do believe you can do the same with brew:
brew list
brew install based on the list
I hope this helps

How do I install ack on OS X (10.8.4)?

I am new to OS X and I am unable to figure out how to install ack. The instructions here didn't help, because the command "install" is failing. Please guide me proper commands.
So far, I have downloaded ack 2.04 and placed it in the /usr/bin folder and then ran perl Makefile.PL successfully. The next command install isn't working for me.
If you use Homebrew you can simply do:
$ brew install ack
If you are new to OSX I highly recommend this approach because it makes installation of stuff like this MUCH easier. It is a package manager for OSX.
Homebrew link: http://brew.sh/
You can also use the MacPorts installer for OSX:
sudo port install p5.<nn>-app-ack
where <nn> is the version of your Perl installation (Ack is written in Perl). If you don't know the version of Perl you have installed, just type:
perl --version
and you'll know what you need for the port command. The Ack installation page has the information you need for this. More information about MacPorts can be found here.
Searching the web, you'll find LOTS of opinions about Homebrew versus MacPorts. I've used both; they both work (and both fail occasionally - installation of this kind is complex). You'll need to pick one or the other and stick with it as Homebrew doesn't play nicely with MacPorts (or vice versa, depending on your POV). Overriding choice for me is MacPorts as it has many more packages than Homebrew and it puts its stuff in /opt/local to stay out of the way of other programs. YMMV

RVM causing path issues with installed gems on Ruby 1.9.2 - unable to annotate, etc, do I need to reinstall RVM?

I'm on Mac OSX Snow Leopard. I tried to post a similar question to the RVM Google group but it did not seem to get posted.
I'm worried that I've done something fundamentally wrong with my RVM install that's causing these errors, that seems to be related to paths, at each step of the way. Have any of you seen this behavior before?
I started to teach myself Rails programming as of about two months ago with a working environment of Ruby 1.9.1 and Rails 3.0.3, based on a hivelogic install tutorial that had me modify my ~/.profile file and install the relevant bits to ~/usr/local/src/. For reference, the line in my ~/.profile file was this when I installed RVM, if that makes any difference:
export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:/usr/local/src:$PATH"
In my terminal I installed RVM as a user using the standard user github bash script.
I tried to install Ruby 1.9.2, which kept running into a weird error about a libfile somewhere. After much Googling I found someone on Stack Overflow that recommended renaming the ~/usr/local directory while performing the Ruby install -- I did this, and the install complete.
Then I did gem install rails and tried to do bundle install in my app, which gave an error when trying to install the SQLite3 gem (even though I already had SQLite3 installed and working). Again, I spent a day Googling this and eventually found "Unable to install sqlite3-ruby gem" that said if I used Macports to sudo port install sqlite3 it would work.
I tried that from the base directory, and Macports did its thing but it didn't fix the problem. Then I did the same thing from my app directory and it fixed the SQLite3 error I was getting.
Now I am able to run rails server and rails generate again, which is great, but then I tried to "annotate" my new model, and I get this error: http://pastie.org/1481570
I have not yet solved this issue, and have looked at many threads of similar issues. This, for example, did not solve my problem: https://github.com/james2m/annotate_models/commit/5997da9692c9b222e8d1be22dfad6ed8638c16a1
I even tried copying my source code directly into the rvm/user/ directory in case that relative path was causing problems, but it doesn't seem to have fixed anything. Maybe I need to uninstall RVM and re-install it as root instead of a user-level thing?
What do you think is the best way to get annotate to work and hopefully get RVM to play nice with my gems going forward?
I'm unfortunately REALLY new to terminal, code, etc, so any help would be much appreciated.
On Snow Leopard you should modify either ~/.bashrc or ~/.bash_profile, preferably the later. Also, RVM will not need anything in ~/usr/local since it's entirely self-contained in ~/.rvm.
RVM uses a nice little shell function to sense the needed directories and desired default Ruby. I suspect either the instructions you followed were very out of date, or poor recommendations. The current RVM installation requests you add:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # This loads RVM into a shell session.
to your ~/.bash_profile
The RVM site has lots of troubleshooting tips for things like MySQL. I'd strongly recommend backing out of the things those other tutorials had you do, and refer to the instructions on RVM's site. It is very easy to get things working right if you do it the RVM-way.
Download and install Apple's latest version of XCode from their Developer site if you haven't already. There have been some broken versions shipped on the DVDs.
Install. In particular follow the "Post Installation" section.
Following that, do whatever rvm notes says to do as far as libraries. Following that, you should be able to use rvm info to gather useful info about your installation. It is your best friend.
Database integration will point you to how to fix MySQL's wagon.
RVM development happens fast. Keep it updated, at least once a week using rvm get head.
At that point you should be in a good place to start reinstalling gems.

Resources