PATH not updated with other build packs #5

Closed
stuross opened this Issue May 18, 2012 · 12 comments

Comments

Projects
None yet
9 participants

stuross commented May 18, 2012

I installed the python buildpack and ruby buildpack for my project. Once it installed however the path variable did not contain the paths to the ruby libraries. I had to manually add the gem_path and the path to the ruby binaries. Might have been a user error on my part, but thought I'd let you know.

p.s. This project was a lifesaver, thanks for sharing.

I've got the same issue combining the nodejs and python buildpacks (in that order), it doesn't look like any of the profile.d stuff comes through from either one? I added it manually with heroku config:add, taking care to combine PATH correctly, and everything worked.

I don't think any special handing is done for the PATH even in what #6 was doing.

I think I have a version of #6 with the changes of nelsonjchen/heroku-buildpack-multi@90ce9fe that should address this. Anyway, I haven't tested it yet with a real project but it might work for you.

Contributor

kennethreitz commented Jul 31, 2012

Our upcoming support of profile.d in buildpacks will solve this problem. Each buildpack will provide it's own update to PATH which will run in succession at runtime.

No ETA.

To reduce the number of static config entries I manually added the required env vars to a .profile and activated the labs dot-profile feature instead https://devcenter.heroku.com/articles/labs-dot-profile - this seems tidier.

@kennethreitz in my case I'm using the node and python buildpacks which are already prepping profile.d info, would it make sense to use those in my .profile somehow? (I'm fine with potential breakage introduced by the removal of a labs feature FWIW)

Contributor

kennethreitz commented Aug 2, 2012

Essentially, profile.d won''t be necessary to enable this functionality in the future.

ntucker commented Jun 4, 2013

Can someone point out how to figure out what to set the PATH to so that this bug can be worked around?

@virtualstaticvoid virtualstaticvoid referenced this issue in virtualstaticvoid/heroku-buildpack-r Jul 29, 2013

Closed

R command not found #14

@ddollar any update or help with this issue.
I want to install 3 buildpacks. Ruby to install my gems (like compass). Node to install my modules (like grunt). And then finally PHP for my web app.

In the 3rd buildpack I need access to node and the ruby gems. But my PATH does not get updated until after the build has finished.

I need my PATH updated after every build pack has finished installing. Thanks

bobbus commented Feb 14, 2014

@thomaswelton , I encounter the same issue, did you manage to solve it ?

bobbus commented Feb 15, 2014

I was able to find a workaround for this by symlinking needed binaries in the custom buildpack but this seems like really unstable and I would love to improve it.

szimek commented Mar 17, 2014

I've got exactly the same problem. I'm using Ruby buildpack to install compass gem and then Node.js + Grunt one to build Node.js app using Grunt. The issue is that Grunt can't find compass binary.

During runtime PATH contains paths from both buildpacks, but not during the build process. I probably could modify Node.js + Grunt buildpack and add PATH=$PATH:/app/vendor/bundle/bin there, but it would be better if there was some standard solution for that.

EDIT: I've tried updating PATH, but it turns out that a different Ruby is used during the build process, so it doesn't work anyway and complains about bundler/setup being missing

@pbrisbin pbrisbin referenced this issue in thoughtbot/carnival May 12, 2014

Closed

Deployment not successful #34

Owner

ddollar commented Nov 7, 2014

Hello. I apologize for the delayed response. I am currently declaring issue bankruptcy. If this issue still applies to you please feel free to re-open and explain. Thanks :)

@ddollar ddollar closed this Nov 7, 2014

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment