Giter Site home page Giter Site logo

Comments (6)

bjeanes avatar bjeanes commented on July 4, 2024

Note that the correct Ruby is used for forego start. I confirmed this by running foreman start then using lsof to find the PID tied to the port 5000 and then lsof again to see all files opened by that process. A lot of 1.9.3 ruby and gem files and no 2.0.0 files.

from forego.

ddollar avatar ddollar commented on July 4, 2024

Do you have a PATH or anything related in a .env file in that project dir?

from forego.

bjeanes avatar bjeanes commented on July 4, 2024

Only custom vars in .env, nothing Ruby or PATH related.

from forego.

ddollar avatar ddollar commented on July 4, 2024

The only different between run and start is that run's subshell is bash -ic where start is just bash -c. Are you setting the default ruby version somewhere in your startup scripts?

from forego.

bjeanes avatar bjeanes commented on July 4, 2024

Ah... that will definitely be why. I think chruby only works with interactive shell startup. The issue isn't that the default is being set, it's that the local directory version isn't being set. To avoid overriding cd (a la rvm) or using shims (a la rbenv), chruby hooks into precmd and equivalents to change the env vars before a command is run. IIRC, ZSH does not trigger those hooks if you are not in interactive mode.

However, it looks like chruby now supports non-interactive modes so let me play around with some configuration to see if this can be fixed without forego changes. I probably just need to make sure that I am requiring chruby's auto.sh script in my non-interactive startup files.

I'll report back.

from forego.

bjeanes avatar bjeanes commented on July 4, 2024

It seems that merely upgrading chruby fixed this for me. Oddly, I upgraded 0.3.6 to 0.3.7, but apparently their fixing change was in 0.3.5. Colour me confused on that one, but my immediate issue seems resolvable.

One caveat: reading .ruby-version from the current directory now works and will use the right project Ruby. But if I explicitly set the Ruby and then use forego run, this is not the case:

$ ruby --version
ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin13.0.0]
$ forego run ruby --version
ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin13.0.0]
$  chruby 1.9.3-p429
$ ruby --version
ruby 1.9.3p429 (2013-05-15 revision 40747) [x86_64-darwin13.0.0]
$ forego run ruby --version
ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin13.0.0]
$ cd to/some/project/dir
$ cat .ruby-version
1.9.3-p429
$ forego run ruby --version
ruby 1.9.3p429 (2013-05-15 revision 40747) [x86_64-darwin13.0.0]

However, this is probably just because my non-interactive startup scripts are resetting the PATH. I haven't investigated as this is unlikely to be a problem for my usage of forego. I thought I'd document it here just in case somebody else gets to this point and wants to go further.

Thanks for being a sounding board @ddollar!

from forego.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.