heroku toolbelt installation - Missing Instructions - ruby-on-rails

I downloaded the windows version of heroku toolbelt from here https://toolbelt.heroku.com/
I chose my folder as
C:\Program Files (x86)\Heroku
which is NOT where my rails app directories are.
Now, according to the heroku homepage guide, https://devcenter.heroku.com/articles/quickstart#step-2-install-the-heroku-toolbelt
it says
"Step 3: Login
After installing the Toolbelt, you’ll have access to the heroku command from your command shell. Authenticate using the email address and password you used when creating your Heroku account:"
Where do i go to do this? I don't see an executable command terminal file in any of the folders of where Heroku installed itself.
My heroku folder contains these directories and files
bin
data
lib
ruby-1.9.2
vendor
unins000.dat
unins000.exe
unins000.msg
I try to execute commands on my windows command prompt, but that doesn't work either. I also used railsinstaller to install rails, ruby, git, etc., so i tried to run heroku commands from the Git Bash and that does not work either.
All of the instructions i read online, including the Github page for heroku toolbelt omits this crucial information. https://github.com/heroku/heroku.rb They will all tell you what commands to type, but don't tell you where to go or which command terminal to open from which folder after downloading.
Now, from my Git bash terminal, which I got from using railsinstaller, I can install the heroku gem, foreman gem, but the heroku gem is deprecated. Toolbelt is what I should be using, and here I am without a critical piece of information.
Does no one else have any problems installing heroku toolbelt and getting it to function? I'm kind of surprised that the omitted information hasn't seemed to spark other heroku toolbelt installation questions yet. Hopefully this question will help other first-timers as well.
Thank you in advance.

You need to be logged in as an administrator for the installation to work. If you weren't try it again with that privilege.
After installing the toolbelt, the system path should include the installation folder's bin. On my 64-bit Win 7 box its':
C:\Program Files (x86)\Heroku\bin
There should also be a system level variable called HerokuPath.
So if you start a new CMD shell, say path and what appears should include the path above (or similar for your machine).
Also say set HerokuPath and the path should appear here.
Then the heroku command should run with no problems, and you can follow the instructions.
If you still have problems, it's likely that one of the embedded installations in the toolbelt is in conflict with another version of the same already on your system. Try running a shell that has a minimal path plus the HerokuPath contents. The most likely culprit is another Ruby installation. The heroku command is a Ruby script in disguise.

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.

RhoStudio build for iOS7 Simulator: "Gem rake not installed" error

I am trying to build a RhoStudio application for the iPhone-simulator on Mac OS X 10.9.1.
The build with XCode fails at
/bin/sh -c ~/.rvm/gems/ruby-1.9.3-p545/gems/rhodes-4.0.1/platform/iphone/build/rhorunner.build/Release-iphonesimulator/rhorunner.build/Script-5C0442920EFBE79D0014E5C6.sh
[31mERROR: Gem rake is not installed, run `gem install rake` first. (B [m
Command /bin/sh failed with exit code 127
Within the script (Script-5C0442920EFBE79D0014E5C6.sh), there is a "source ~/.profile" call which seems to mess up the environment for rake. The error can be reproduced by opening a shell and executing the source command. If i don't source, there is no error for rake.
Also, if i try to gem install rake after the source command, there is a confirmation that it has been installed but the error still occurs.
Anybody help?
This is one of those issues where there are way too many specific factors involved to easily come up with a solution; I'm going through the ropes myself with Rhodes in 10.9. The problem is because Rhodes constantly is changing environments (it's a real mess) so your environment, which tracks the paths to your Ruby installations and Gems, will be very volatile. Here are some tips that might help you diagnose the issue:
Try running gem which rake, which shows you the absolute path of your rake gem as visible to the calling script. You can place this in one of your config files like ~/.profile or ~/.bashrc to test different contexts.
You can also use gem env to see a full printout of the gem's configuration for your environment, and just plain env shows you the system (shell) environment. Look very closely for the variables GEM_PATH AND GEM_ROOT which show you where Rubygems and your gem libs are searched for, respectively.
Keep in mind using sudo before install will affect where your gems are installed; this depends on where you installed Ruby, which ruby manager (for RVM look in ~/.rvm) and whether or not you are using Bundler for instance.
Hope that helps. Also, if you are into Bash scripting I recently posted a tip for managing the environment paths that might help: https://coderwall.com/p/f_dlyg

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.

/usr/bin/env: ruby.exe: No such file or directory

I'm brand new to Rails and am following this tutorial on how to make Rails applications. I can't get the database to migrate to my heroku apps.
I'm currently at the beginning of chapter 3, trying to set up an app to use for the rest of the course.
I've been following the tutorial perfectly, and, so far, I've already built two apps and deployed them to heroku and migrated the data just fine, but the third time it's not working.
I was able to make the heroku page and push the app to it, but I just can't migrate the data.
I typed:
heroku run rake db:migrate
and got this error:
/usr/bin/env: ruby.exe: No such file or directory.
I'm assuming this means it's looking for the file in that directory and not finding it. How do I change where it's looking?
I checked "windows heroku run rake db:migrate error “/usr/bin/env: ruby.exe: No such file or directory”" and did what the answers recommended, that is, change "ruby.exe" to "ruby" in bin/bundle, bin/rails, and bin/rake, but that didn't work.
Any other tips? I have been stuck on this for hours. Thank you so much in advance.
The command is normally heroku run rake db:migrate. You should try that instead of heroku run rails db:migrate.
Make sure you've pushed your app to heroku. When it's pushing to heroku, make sure that it is also detected as a rails app. It's possible that heroku isn't detecting a rails app so the environment it sets up doesn't have ruby installed. But it may just be the error in the command name (rails instead of rake).
I had a similar problem on a repository I had ported over from windows.
It turns out that several scripts in the app's bin directory still had a shebang lines (#!/usr/bin/env ruby.exe) to ruby.exe instead of ruby. Once I fixed these scripts the problem went away.
On your local dev machine, before committing to git (and then pushing to Heroku), try changing the line endings to Unix line endings (rather than Windows line endings). On a *nix machine you'd do that by running dos2unix myfile.rb
If the line endings are wrong, the Linux loaded on Heroku will look for ruby^M and not for ruby, and will of course not find it, and give this exact error message.

Capistrano user-related problem

I'm deploying a rails application using Capistrano to a shared server (on WebFaction). This means there are several different Ruby version installed there.
Everything works fine until I want to run some rake tasks. These tasks fail by saying I don't have the right RubyGems version.
From this thread I understood that fixing it would be as easy as adding the full path to the correct rake folder to my rake commands. I tried that but failed again, now because the Ruby interpreter that is used is the wrong one.
I assumed that capistrano would use the username/password I gave it to run commands on the server but it seems not to be the case.
Am I missing something? How can I fix that?
Thanks!
This is indeed a path issue. I solved it by symlinking my ruby, rake, and rails executables to my path. For instance, if the executables that you want (but are failing to work) are located at /opt/ruby/bin/ruby, you'll symlink it to:
ln -s /opt/ruby/bin/ruby /usr/local/bin/ruby

Resources