cjheath/activefacts

Activefacts doesn't work if ruby is installed under $HOME

kirillrdy opened this issue · 5 comments

Most ruby version managers eg rvm and rbenv install ruby under $HOME, which breaks cql compiler

[kirillvr@yao bin]$ ./cql 
fatal: Not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
Using work area gems in /home/kirillvr/250/lib/ruby/gems/2.5.0/gems from activefacts
The path `/home/kirillvr/250/lib/ruby/gems/2.5.0/gems/api` does not exist.

on a good note, looks like schema_compositor doesn't have same issue

I have no idea where this error message is coming from. Nothing in CQL makes reference to git, so why is git complaining? Is this because cql requires bundler/setup?

i think its the code in Gemfile that tries to detect work area gems

I can see why this is a problem, but not why it calls git?
if this_file =~ %r{\A#{ENV['HOME']}}i and !ENV['USE_INSTALLED']

maybe bundler calls git with that path, and git throws that error

My gemfiles use gemspec, and the gemspec files use git ls-files so perhaps that's it. But I've never had a problem with that before, including with version managers installing gems under $HOME