Open mhenrixon opened 2 years ago
I'm having the same issue with asdf
I fixed it somehow
Same issue with rvm
On a very basic level, Overmind doesn't do anything fancy but run tmux with commands from the Procfile. You can emulate the same behavior without Overmind involved:
echo -e "#\!/bin/sh\nruby -v\nwhich ruby\nsleep 10" > ruby-test.sh
chmod +x ruby-test.sh
tmux -L rubytest new ./ruby-test.sh
If it shows the wrong version too then Overmind is not a cause and you need to check your chruby/RVM/asdf installation.
So, what I did to fix this with chruby was the following.
At the end of my config.fish
I put this:
chruby_reset
chruby 3.1.2
I believe it could be solved with some tmux config too most likely
I'm running into the same. Trying to run a rake task and I get the same error message. Your Ruby version is 2.6.8, but your Gemfile specified ~> 3.1 (Bundler::RubyVersionMismatch)
. I ran the script DarthSim suggested above and it displayed the "right" version (3.1).
Which ruby, which rake, which rails, which bundle, etc all seem to show 3.1. It seems as if it's trying to use my system ruby, which makes no sense. I'm using the latest version of chruby.
@corinnpope thats because overmind is using your system ruby. You need to tell your bash profile or equivalent that your default ruby should be something else.
I think it doesn't matter the ruby version really, it just needs one ruby version that isn't your system ruby since that one requires different permissions and such.
Haven't tried it with different ruby versions.
Would be interested in trying out some tmux magic instead but honestly have zero experience with tmux.
error Your Ruby version is 2.6.8, but your Gemfile specified 2.7.5
when I have created react project like npx react-native init AwesomeProject
error Your Ruby version is 2.6.8, but your Gemfile specified 2.7.5
when I have created react project like
npx react-native init AwesomeProject
Follow below steps and your project will be created successfully.
Any update here?
I got this error when I tried creating a react-native app using npx react-native init AwesomeTSProject --template react-native-template-typescript
Solution:
I got this error when I tried creating a react-native app using
npx react-native init AwesomeTSProject --template react-native-template-typescript
Solution:
- I installed rbenv following https://github.com/rbenv/rbenv
- cd AwesomeTSProject/ios
- rbenv install 2.7.5 //if you don't have the version already installed
- rbenv local 2.7.5
- bundle install
- bundle exec pod install
- That's all!
just wanted to add one thing before bundle install restart terminal
I'm running into the same thing and can't seem to fix it. @postmodern, do you know why this happens in a Tmux scenario?
In my fish profile, I have the following:
chruby_reset
chruby 3.2.2
If I set Ruby to 3.3.0, this works, but the current project I am working on does not function with that ruby version.
@mhenrixon chruby does not support the fish shell, because it is completely different from a standard POSIX shell. You are probably using chruby-fish instead.
You are probably using chruby-fish instead.
Yes, @postmodern, but the problem remains the same with bash. Chruby-fish uses chruby under the hood, if I am not mistaken.
I switched to bash and setup a bashrc with chruby.
export PATH=/opt/homebrew/bin:$PATH
source /opt/homebrew/opt/chruby/share/chruby/chruby.sh
source /opt/homebrew/opt/chruby/share/chruby/auto.sh
function reload() {
source ~/.bashrc
}
I get the exact same error message
EDIT
Do you have any ideas about what could be going wrong? chruby works great; from the looks of things, this is an overmind/tmux problem. I lack the experience with tmux to fix it.
Doing some more investigation:
Whenever a new shell is loaded, the latest version of ruby installed is set if there is no .ruby-version
from which to select.
It seems that when Overmind loads tmux, it doesn't consider a .ruby-verison
and fails unless the current project is on the same ruby version.
If I open bash in a folder without a ruby version chosen (via .ruby-version
or otherwise), I always get the latest ruby version.
@DarthSim any ideas why tmux/overmind isn't using the .ruby-version? Your replication method: https://github.com/DarthSim/overmind/issues/127#issuecomment-1168393615 works and shows the problem. In the current shell I have ruby 3.3.4 but in the script it outputs 3.3.3 which is the system default.
Do I have to load chruby in tmux somehow? Can I update the tmux config to fix this problem?
@mhenrixon, check that your tmux config doesn't rewrite PATH
or whatever else, see https://github.com/DarthSim/overmind/issues/184#issuecomment-2183016295. Probably it overwrites chruby somehow.
Try to execute Overmind with path to an empty config in OVERMIND_TMUX_CONFIG
env variable to debug.
Try to execute Overmind with path to an empty config in
OVERMIND_TMUX_CONFIG
env variable to debug.
I tried this @Envek but it doesn't work. It picks up the default ruby from my bash/fish profile and not the .ruby-version
in the directory.
If I load a tmux shell tmux
I have the right ruby version though.
Overmind and Tmux have nothing to do with the .ruby-version
file. This file should be used by your Ruby version manager. And in my humble opinion, chruby is the worst one. It breaks if you make a step away from the golden path. I always had zero problems with rbenv
I always had zero problems with rbenv
I had nothing but problems with rbenv 🤷♂️
I tried asdf for a while but ran into problems installing Ruby with jemalloc and yjit, so I switched back to chruby since none of the solutions to my open issue worked.
Chruby never gave me trouble except in this specific situation with overmind/tmux.
If I load a tmux shell tmux I have the right ruby version though.
And that's weird.
It picks up the default ruby from my bash/fish profile and not the .ruby-version in the directory.
It maybe related to OS X difference in loading bash configs, see https://github.com/postmodern/chruby?tab=readme-ov-file#configuration
Note: macOS does not automatically execute ~/.bashrc, instead try adding to /etc/bashrc.
(and also there is separate ~/.bash_profile
to make things more complicated)
Seems that it doesn't pick the ruby version from chruby. Any suggestions for how to make that work? I searched a bit but couldn't find anything relevant.