Installing Heroku Toolbelt has broken Taps - ruby-on-rails

I've been hapilly using the Heroku and Taps gems for a while now, regularly doing a heroku db:push to push my database up to production.
This morning I noticed a message that the Heroku gem was deprecated, having been superseded by the Heroku Toolbelt. So I uninstalled the gems and installed the Heroku Toolbelt.
The next time I went to push my database I got the following error:
! Taps Load Error: cannot load such file -- taps/operation
! You may need to install or update the taps gem to use db commands.
! On most systems this will be:
!
! sudo gem install taps
Both Heroku and Taps are correctly installed, but in frustration I've tried following the instructions ('install or update the taps gem to use db commands') without success. The (re)install goes fine but I still get the above error when I try and push the database. Can anyone suggest a fix? I'm using rbenv.

Well I uninstalled the toolbelt using commands from here:
rm -rf /usr/local/heroku
rm -rf /usr/bin/heroku
Then removed the following from my .bash_profile
### Added by the Heroku Toolbelt
export PATH="/usr/local/heroku/bin:$PATH"
And it works again.
Moral of the story - avoid the Heroku Toolbelt and stick to the gems.

Can you try PG Transfers plugin for Heroku, documentation is on the page itself.
https://github.com/ddollar/heroku-pg-transfer
This seems to be recommended approach now by Heroku.

You don't have to remove toolbelt to use a gem version for one off cases such as broken taps:
% gem install heroku
% $(rbenv root)/shims/heroku version
heroku-gem/2.35.0 (x86_64-darwin12.2.0) ruby/1.9.3
This is using rbenv, but rvm, chruby or the like should be similar.

Well, Heroku suggests using PG Backups add-on. Taps+Heroku combination make problems to many, partially because Taps is designed to produce database-agnostic dumps which is not that easy.
The disadvantage is you got to upload your dump to S3 or something.

Related

Heroku CLI throws an error whenever I try to do anything: "Please specify a version along with Heroku's API MIME type"

As of this morning, without having change anything in my Heroku CLI setup, I received the following error when I tried to run:
heroku logs -t -app <app_name>
! Please specify a version along with Heroku's API MIME type. For example, Accept: application/vnd.heroku+json; version=3.
I have since tried updating both heroku and heroku-toolbelt via brew upgrade heroku and brew upgrade heroku-toolbelt, but this did not solve the issue.
I get this error essentially whenever I try to do anything with heroku CLI, including heroku logs, heroku apps, heroku login, and heroku auth:login.
I am running MacOS, and the error posted is the only information that I am getting back from Heroku.
This discussion here: How can I specify heroku's MIME type? pertains to upgrading Heroku in Ubuntu and does not solve my issue.
I had the same problem -- but installing the new Toolbelt did not work at first. There was one other step I needed to do.
from: https://devcenter.heroku.com/articles/heroku-cli
It has instructions for each platform on installing the new cli -- and says you need to run: which heroku in order to verify the proper version is running. In my case I also needed to do a gem uninstall heroku in order to get everything working, as it was running the gem binary instead of the newly installed heroku-cli binary.
If you were using heroko Plugin for intellij
I tried alot to make it work !
From here official response
#emzeidan thanks for the report. This plugin is deprecated, and uses an old version of the Heroku API that has been shut down. Please recommend to your users that they use one of the alternative deployment mechanisms described in our DevCenter article on WAR deployment. If you can remove from the plugin from any Bamboo marketplace (or similar thing) that would be helpful too. Thanks.
This was on Sept-2017
I run the 'heroku --version' command and the toolbelt automatically updates the client. After that the login was ok.
I had the same problem on macOS Sierra 10.12.3 when I installed heroku via brew.
To get round it I ran brew uninstall heroku-toolbelt then installed via the Mac installer at https://devcenter.heroku.com/articles/heroku-cli#macos and it works fine now.
Have you specified the heroku gem in your Gemfile? If yes, then remove it.
And then, install Heroku CLI for https://devcenter.heroku.com/articles/getting-started-with-ruby#set-up and run your command.

Heroku can't find libruby-1.9.1.so.1.9

I'm running through a ruby on rails tutorial, and I just installed the Heroku toolkit.
My problem is that whenever I try "Heroku login", or whatever heroku command, I get :
ruby1.9.1: error while loading shared libraries: libruby-1.9.1.so.1.9: cannot open shared object file: No such file or directory
I remember having cleaned my ruby installations recently, so I wonder if I just miss some libs that I have deleted or something, but I haven't been able to find anything satisfying about that.
Do you have an idea how to get out of this situation, and be able to use Heroku ?
I managed to make heroku work by installing it with gem :
gem install heroku
instead of :
sudo apt-get heroku
It seems like heroku was trying to use a ruby version out of rvm (but i deleted the ruby version which was installed before rvm). Now the gem installation took care of that.

Heroku removes bundler when deploy

I'm in trouble with deployment of my ruby-on-rails app on heroku.
Deploy failed with following logs.
Starting process with command bundle exec thin start -R config.ru -e staging -p 6882
bash: bundle: command not found
And I noticed when deploy, bundler(1.3.2) is removed and bundler(1.5.2) is used even if I specify bundler version as '1.3.2'.
When deploy, Using bundler(1.5.2) is shown but there is no bundler in heroku run 'gem list'.
This is happen after I pushed the commit that includes some gem's updates.
After that deploy, all deploys are failed even if I deloy the commit that worked well before.
Do you have a ruby definition in your gemfile like so?
source 'https://rubygems.org'
ruby '1.9.3'
gem 'rails', '3.2.15'
.....
if you do, heroku will try to load bundler 1.5.2
try to update bundler like so
gem update bundler
then commit & push to heroku
I hope that helps
Thank you, everyone.
I fixed up this problem.
I tried all solutions in this post but couldn't get fixed, so I asked the heroku's support with detail information.
It is because I'm using the custom buildpack that not support Bundler 1.5.2.
So, I configure an app to use the Official Ruby Buildpack
heroku config:set BUILDPACK_URL=https://github.com/heroku/heroku-buildpack-ruby

rails/heroku migrating from gem to toolbelt

I used to use the heroku gem with a project. Now that the toolbelt is out, I wanted to switch. I removed the gem from the Gemfile and I uninstalled it via gem uninstall heroku. I installed the heroku toolbelt with the pkg from heroku's website.
Now, everywhere on my system it seems that the new toolbelt is available when I do e.g.
heroku version
But inside that one directory where I store my Rails Project, I get an error as it is still looking for the old heroku gem (that has now been uninstalled).
How do I link to the new toolbelt instead of the old gem inside that folder?
BTW: I've also created a new rvm gemset and it did not change the behaviour.
Remove ~/.heroku/client folder and reinstall toolbelt.
Ref: https://stackoverflow.com/a/10988217/429758

Heroku toolbelt fails update

I'm trying to get Heroku toolbelt working and it's a total nightmare. The install runs successfully, but when I run heroku update I get:
$ heroku update
failed
! undefined method `output_with_arrow' for #<Heroku::Command::Update:0x108da0120 #options={}, #args=[]>
I've tried everything, including uninstalling my heroku gem and removing the toolbelt via:
rm -rf /usr/loca/heroku
sudo rm /usr/bin/heroku
This is VERY frustrating. My environment is Mac OS 10.7 Lion and:
$ ruby -v
ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-darwin11.3.0]
$ which ruby
/Users/J/.rvm/rubies/ruby-1.9.3-p125/bin/ruby
$ heroku version
heroku-gem/2.19.2
$ which heroku
/usr/bin/heroku
Heroku support finally helped me fix this. Long story short, if you're having this issue, just run:
$ rm -rf ~/.heroku/client
Then reinstall the Heroku Toolbelt from http://toolbelt.heroku.com
If you want the long answer, here you go:
There appear to be some edge cases where update ended up with some
incorrect data and it is somewhat more difficult to recover from this.
If you first delete the ~/.heroku/client directory and subsequently
run the installer you should end up with a working result.
Heroku toolbelt is nice, but heroku_san offers all that and more. Maybe give it a shot?
https://github.com/fastestforward/heroku_san
Dont have much fuss about about uninstalling and reinstalling it again.
Just Delete .heroku folder and it will start working fine...
I had some problems installing Heroku on Windows. After installing and running at the command line for the first time, I got something like "Updating to 5.1.4-cc" and then simply 'panic:'. I couldn't find a '.heroku' folder, and after a lot of messing around, running heroku-cli.exe in {user}AppData\Local\heroku got it past that problem, then everything was good. Until this morning - one day later :) - when it tried updating again, to 5.1.5. I uninstalled everything, re-installed, same issue - but this time there was a '.heroku' folder, and deleting that got past the update issue.
Cheers

Resources