It turns out that someone installed Ruby from apt-get on the server (which 
I share with several other developers).  Gitlab ended up using Ruby 1.9.3 
and Gitlab Shell used 2.x (first 2.0.x, now 2.1.0).  Since Bundler puts the 
deployed gems into a folder by Ruby version, and the ruby `system` call 
uses the bundled environment, the called Ruby was unable to find the 
bundled gems.  Removing Ruby 1.9.3 using apt-get solved the problem.

Moshe

On Monday, February 3, 2014 11:36:22 AM UTC-5, Moshe Katz wrote:
>
> I am running Gitlab 6.5.1 (though I also had this problem when I was 
> running 6.4.2).
>
> When I use the web interfaces for adding/removing branches and tags from a 
> repository, the changes never actually happen in the repository.
>
> In the error log, I find the following lines:
>
> /var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/spec_set.rb:92:in 
> `block in materialize': Could not find i18n-0.6.9 in any of the sources 
> (Bund
>         from 
> /var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/spec_set.rb:85:in `map!'
>         from 
> /var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/spec_set.rb:85:in 
> `materialize'
>         from 
> /var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/definition.rb:114:in 
> `specs'
>         from 
> /var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/definition.rb:159:in 
> `specs_for'
>         from 
> /var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/definition.rb:148:in 
> `requested_specs'
>         from 
> /var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/environment.rb:18:in 
> `requested_specs'
>         from 
> /var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:13:in `setup'
>         from /var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler.rb:120:in 
> `setup'
>         from 
> /var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/setup.rb:17:in `<top 
> (required)>'
>         from 
> /usr/local/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in 
> `require'
>         from 
> /usr/local/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in 
> `require'
>
> I used the Rails Console and, based on looking around in the source, 
> isolated the problem to running this line:
>
> system "#{gitlab_shell_path}/bin/gitlab-projects", "create-tag", 
> "#{path}.git", tag_name, ref
>
> When I run it by hand (with all of the variables set appropriately) *inside 
> the rails console*, I get the same error:
>
> Could not find i18n-0.6.9 in any of the sources
> Run `bundle install` to install missing gems.
>
> However, when I run the command in a regular bash session over SSH, it 
> works perfectly as expected.
>
> Running "gem list i18n" shows that the gem is installed in the 
> system-wide gems.  Running "bundle show i18n" shows that the gem is 
> installed in the Gitlab vendor directory as well.
>
> Why doesn't gitlab-shell see that the gem is there *only when it is being 
> run using the ruby "system" call?*
>
> Thank You
>
> Notes:
>
>    - Gitlab 6.5.1
>    - Gitlab Shell 1.8.0
>    - Installed following the tutorial exactly, except with Apache instead 
>    of Nginx.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"GitLab" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to