Open tilsammans opened 11 years ago
I found this gist, which sort of forces the issue locally by updating your project's .powrc with the following:
if [ -f "$rvm_path/scripts/rvm" ]; then
source "$rvm_path/scripts/rvm"
if [ -f ".rvmrc" ]; then
source ".rvmrc"
fi
if [ -f ".ruby-version" ]; then
rvm use `cat .ruby-version`
fi
if [ -f ".ruby-gemset" ]; then
rvm gemset use --create `cat .ruby-gemset`
fi
fi
I got the same issue and had to delete .ruby-version in my home dir. Hope it would be fixed soon.
I just hit this issue as well. Took me half a day to find this post.
It usually doesn't make a lot of sense to have a .ruby-version in your home dir, that's more or less what's the rbenv global is for.
I'll dig into it though. As nested projects should give the deepest .ruby-version precedence.
Just got hit with this particular issue. rbenv
uses the deepest reference, and Pow seems to use the top-most, which is inconsistent.
It doesn't make sense to have it in your home directory, but if you've done a rbenv local x.x.x
by accident there, you wouldn't notice, as your applications are still keyed correctly.
The way rbenv works is that it figures out the directory it's running in, and uses the corresponding Ruby version. Somehow rbenv believes that the home directory has precedence over the project directory...
Pow does not do anything to change this behaviour. This is because rbenv replicates native functionality in a really neat way. Simply put: Rbenv is in control of ruby versions at all times. (https://github.com/sstephenson/rbenv#understanding-path)
This error might be occurring because of the way the pow symlinking is set up. This would be a rbenv bug though, not a pow bug. @sstephenson, as author of both tools, what's your opinion?
Just hit this as well after upgrading to OSX Mavericks. Wasted nearly half a day trying to figure it out. :-1:
What is especially confusing about this issue is running rails
or rake test
in the application directory will run the correct version of Ruby, the one specified for that particular application, but Pow will instead use the one defined in the home directory. If rbenv
is in control, the way it's being engaged isn't the same as via the command-line.
This issue is really confusing as everything you do on the command line works, and everything you do through Pow is broken. Normally the two are in sync and it's possible to reproduce Pow loading problems with rails c
.
Bit me too!
I have the same issue here. After fresh Mavericks install. Then rbenv using homebrew, installed 2.0.0p247. Also installed rbenv-bundler. And set .powconfig in root directory.
But pow can't recognise correct ruby version and throw:
LoadError: cannot load such file -- bundler/setup
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
~/Code/app/config/boot.rb:4:in `<top (required)>'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
cardiogo(development)» gem env
RubyGems Environment:
- RUBYGEMS VERSION: 2.0.3
- RUBY VERSION: 2.0.0 (2013-06-27 patchlevel 247) [universal.x86_64-darwin13]
- INSTALLATION DIRECTORY: /Users/rege/.gem
- RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
- EXECUTABLE DIRECTORY: /Users/rege/.gem/bin
- RUBYGEMS PLATFORMS:
- ruby
- universal-darwin-13
- GEM PATHS:
- /Users/rege/.gem
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- "gem" => "--no-rdoc --no-ri"
- REMOTE SOURCES:
- https://rubygems.org/
@regedarek This might be a different issue. If you remove the .ruby-version in the parent directory of your application (or home directory), everything should work well.
If the problem is still occurring and you use zsh, check this out: https://github.com/37signals/pow/issues/202#issuecomment-21212967
Hi, Thanks a lot. #202 (comment) solved with my issue.
This tripped me up for a long time! Still an issue in the current version.
My apps live in ~/Rails/ and each have a .ruby-version. Rails server runs fine. But Pow always wants to load the Ruby specified in the parent dir a.k.a. my home dir: ~/.ruby-version.
When I remove ~/.ruby-version, Pow correctly loads rbenv from the Rails application directory and the correct Ruby. So there's a path lookup going haywire somewhere. The .ruby-version in the application directory should always win, IMO.
Mac OS X 10.8.3 with zsh and Oh-My-Zsh.