Could not find rake-10.1.0 in any of the sources

gitlabruby

I've got a ruby on rails application (gitlab) which is installed via puppet.

Everything on the test system runs fine, but production generates an error about rake

Running /home/git/gitlab-shell/bin/check
Could not find rake-10.1.0 in any of the sources
Run bundle install to install missing gems.

Here is the full rake check:

root@gitlab:/home/git# sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production

Checking Environment ...

Git configured for git user? ... yes
Has python2? ... yes
python2 is supported version? ... yes

Checking Environment ... Finished

Checking GitLab Shell ...

GitLab Shell version >= 1.7.1 ? ... OK (1.7.1)
Repo base directory exists? ... yes
Repo base directory is a symlink? ... no
Repo base owned by git:git? ... yes
Repo base access is drwxrws---? ... yes
update hook up-to-date? ... yes
update hooks in repos are links: ... 
Could not find rake-10.1.0 in any of the sources
Run `bundle install` to install missing gems.
gitlab-shell self-check failed
  Try fixing it:
  Make sure GitLab is running;
  Check the gitlab-shell configuration file:
  sudo -u git -H editor /home/git/gitlab-shell/config.yml
  Please fix the error above and rerun the checks.

Checking GitLab Shell ... Finished

Checking Sidekiq ...

Running? ... yes
Number of Sidekiq processes ... 1

Checking Sidekiq ... Finished

Checking GitLab ...

Database config exists? ... yes
Database is SQLite ... no
All migrations up? ... yes
GitLab config exists? ... yes
GitLab config outdated? ... no
Log directory writable? ... yes
Tmp directory writable? ... yes
Init script exists? ... yes
Init script up-to-date? ... yes
projects have namespace: ... 
Spencer Owen / bar ... yes
Projects have satellites? ... 
Spencer Owen / bar ... can't create, repository is empty
Redis version >= 2.0.0? ... yes
Your git bin path is "/usr/bin/git"
Git version >= 1.7.10 ? ... yes (1.8.4)

Checking GitLab ... Finished

The step 'gitlab-shell check' effectively runs the following command. If I run that command manually, everything passes.

root@gitlab:/home/git/gitlab# sudo -u git -H /home/git/gitlab-shell/bin/check 
Check GitLab API access: OK
Check directories and files: 
    /home/git/repositories: OK
    /home/git/.ssh/authorized_keys: OK

I have verified that rake is in fact installed

 root@gitlab:/home/git/gitlab# gem install rake -v 10.1.0
 root@gitlab:/home/git/gitlab# bundle install

 root@gitlab:/home/git/gitlab# sudo -u git -H gem install rake -v 10.1.0
 root@gitlab:/home/git/gitlab# sudo -u git -H bundle install

Ruby is installed with update alternatives

 root@gitlab:/home/git/gitlab# sudo -u git -H ruby --version
 ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux]
 root@gitlab:/home/git/gitlab# sudo -u git -H ls -l `which ruby`
 lrwxrwxrwx 1 root root 22 Oct  8 20:26 /usr/bin/ruby -> /etc/alternatives/ruby

 root@gitlab:/home/git/gitlab# sudo -u git -H gem --version
 2.1.10
 root@gitlab:/home/git/gitlab# sudo -u git -H ls -l `which gem`
 lrwxrwxrwx 1 root root 21 Oct 10 20:50 /usr/bin/gem -> /etc/alternatives/gem

I've tried the solution mentioned below, to allow shared gems
https://stackoverflow.com/questions/19284914/bundle-exec-fails-with-could-not-find-rake-10-1-0-in-any-of-the-sources
https://stackoverflow.com/questions/18978002/could-not-find-rake-with-bundle-exec

root@gitlab:/home/git/gitlab# cat /home/git/gitlab/.bundle/config 
---
BUNDLE_FROZEN: '1'
BUNDLE_PATH: vendor/bundle
BUNDLE_WITHOUT: development:test:postgres
BUNDLE_DISABLE_SHARED_GEMS: '1'

I've exhausted google, so I'm hoping for someone more familiar with ruby to offer any ideas how to resolve the error. Could not find rake-10.1.0 in any of the sources

All of my notes in troubleshooting this problem are located here

Best Answer

dpkg -L showed that there were 3 versions of ruby installed 1.8 1.9.1 and 2.0. I uninstalled all 1.9.1 and 2.0 (but left 1.8 because it comes with puppet).

I then ran the puppet module again to reinstall ruby. Everything works now.

Related Topic