Skip to content
This repository has been archived by the owner on Feb 12, 2022. It is now read-only.

shebang breaks the executable on systems with {rbenv,rvm}-managed rubies #1211

Open
wants to merge 91 commits into
base: master
Choose a base branch
from

Conversation

berdario
Copy link

This is basically the same issue mentioned in this comment

Using env in the shebang is all fine and dandy as long as you have a standalone script that can run on different ruby versions, but as soon as you add some dependencies (like in heroku's case) you cannot expect that the interpreter in the current environment has them installed. I stumbled upon this issue after installing the heroku toolbelt from its deb repositories on a normal ubuntu system with multiple rubies managed by rbenv. So the scripts should rely on the same ruby interpreter that has been required as a dependency by the debian package, not the one resolved by env

(granted, rather than merging this you might want to tweak deb.rake to take care of possible differences in the location of the ruby executable on different distros)

An example of another application that avoids env in its executable's shebang is dropbox, and indeed the dropbox script works just fine even when invoked from inside a virtualenv (which is sort of the python equivalent of rbenv, rvm)

dickeyxxx and others added 30 commits August 11, 2014 16:45
Don't update manifest or update hash during beta phase.
upgraded heroku-api and excon
use svg badges for retina displays
test on ruby 2.0.0 and 2.1.2 for future compatibility
Better errors when psql fails and when we can't check the pg version
added cove coverage via coveralls/simplecov
Jeff Dickey and others added 27 commits August 21, 2014 19:12
Record source app id as fork deploy source
get rid of travis notifications (way too many messages)
Fixes heroku#1201

RestClient is not available if you use Client directly without CLI/
Paranoid currently only works in Excon. This adds support to
`RestClient` as well.
…id-support

Support for paranoid operations on commands using `RestClient`
prompt for creating ~/.ssh/id_rsa
This lets users kill all their existing connections even when they
have no remaining connections on their given database plan, preventing
a chicken-and-egg problem in some situations.
…llall

Use server-side connection reset endpoint for pg:killall
As part of the eventual deprecation of the Manager API component, the
main API will now start to respond to fulfill orgs-related requests.

See also heroku/api#2837.
Send all orgs-related requests to api.heroku.com
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants