Ruby

在任何來源中都找不到 rake-10.1.0

  • October 29, 2013

我有一個通過 puppet 安裝的 ruby​​ on rails 應用程序(gitlab)。

測試系統上的一切都執行良好,但生產會產生一個關於 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.

這是完整的耙子檢查:

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

步驟 ‘gitlab-shell check’ 有效地執行以下命令。如果我手動執行該命令,一切都會過去。

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

我已經驗證 rake 實際上已安裝

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 安裝了更新選項

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

我已經嘗試過下面提到的解決方案,以允許共享 gem 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'

我已經用盡了Google,所以我希望有更熟悉 ruby​​ 的人提供任何解決該錯誤的想法。Could not find rake-10.1.0 in any of the sources

我在解決此問題時的所有筆記都位於此處

dpkg -L 顯示安裝了 3 個版本的 ruby​​ 1.8 1.9.1 和 2.0。我解除安裝了所有 1.9.1 和 2.0(但留下了 1.8,因為它帶有 puppet)。

然後我再次執行puppet 模組以重新安裝 ruby​​。現在一切正常。

引用自:https://serverfault.com/questions/549424