2012-10-26 2 views
7

Je configure ruby ​​sur rails environnement en utilisant http://jaysonrowe.blogspot.com/2012/04/installing-ruby-and-rails-on-fedora.html. J'ai installé mysql 5.5. Maintenant, quand je clone un projet de bitbucket et le faisceau d'exécution installer, je suis l'erreur suivante:Impossible de trouver capistrano-2.13.3 dans l'une des sources

[[email protected] ruby_repo]$ bundle install 
Fetching gem metadata from http://rubygems.org/...... 
Fetching gem metadata from http://rubygems.org/.. 
Could not find capistrano-2.13.3 in any of the sources 

Lorsque j'exécute des rails -v dans le répertoire ruby_repo, je suis l'erreur suivante:

[[email protected] ruby_repo]$ rails -v 
Could not find abstract-1.0.0 in any of the sources 
Run `bundle install` to install missing gems. 

Ci-dessous mon Gemfile:

source 'http://rubygems.org' 

gem 'rails', '3.0.10' 

# Bundle edge Rails instead: 
# gem 'rails', :git => 'git://github.com/rails/rails.git' 
gem 'rmagick' 
gem "will_paginate", "~> 3.0.pre2" 
gem 'mysql2','0.2.7' 
gem "nokogiri" 
gem 'activemerchant', :require => 'active_merchant' 
gem "webrobots", "~> 0.0.10" 
gem 'mixpanel' 
gem 'thinking-sphinx', '2.0.10' 
gem 'whenever', :require => false 
gem 'json' 
gem 'vimeo' 
gem "koala" 
gem 'typhoeus' 
gem 'delayed_job_active_record' 
gem "delayed_job" 
gem 'mini_fb' 
gem 'daemons' 
gem 'annotate' 
gem 'capistrano' 
gem 'rvm-capistrano' 
gem 'grosser-ssl_requirement', :require => 'ssl_requirement' 
gem 'acts-as-taggable-on' 
gem 'capistrano' 
gem 'rvm-capistrano' 
# Use unicorn as the web server 
# gem 'unicorn' 

# Deploy with Capistrano 
#gem 'capistrano' 
#gem 'capistrano-ext' 
#To use debugger (ruby-debug for Ruby 1.8.7+, ruby-debug19 for Ruby 1.9.2+) 
# gem 'ruby-debug' 


# Bundle the extra gems: 
# gem 'bj' 
# gem 'nokogiri' 
# gem 'sqlite3-ruby', :require => 'sqlite3' 
# gem 'aws-s3', :require => 'aws/s3' 

# Bundle gems for the local environment. Make sure to 
# put test-only gems in this group so their generators 
# and rake tasks are available in development mode: 
# group :development, :test do 
# gem 'webrat' 
# end 

Lorsque j'exécute la liste des pierres précieuses, je suis sortie suivante

*** LOCAL GEMS *** 

actionmailer (3.2.8) 
actionpack (3.2.8) 
activemodel (3.2.8) 
activerecord (3.2.8) 
activeresource (3.2.8) 
activesupport (3.2.8) 
arel (3.0.2) 
builder (3.0.4) 
bundler (1.2.1) 
capistrano (2.13.4) 
coffee-rails (3.2.2) 
coffee-script (2.2.0) 
coffee-script-source (1.4.0) 
erubis (2.7.0) 
execjs (1.4.0) 
highline (1.6.15) 
hike (1.2.1) 
i18n (0.6.1) 
journey (1.0.4) 
jquery-rails (2.1.3) 
json (1.7.5) 
mail (2.4.4) 
mime-types (1.19) 
multi_json (1.3.6) 
mysql2 (0.3.11) 
net-scp (1.0.4) 
net-sftp (2.0.5) 
net-ssh (2.6.1) 
net-ssh-gateway (1.1.0) 
polyglot (0.3.3) 
rack (1.4.1) 
rack-cache (1.2) 
rack-ssl (1.3.2) 
rack-test (0.6.2) 
rails (3.2.8) 
railties (3.2.8) 
rake (0.9.2.2) 
rdoc (3.12) 
rubygems-bundler (1.1.0) 
rvm (1.11.3.5) 
sass (3.2.1) 
sass-rails (3.2.5) 
sprockets (2.1.3) 
sqlite3 (1.3.6) 
thor (0.16.0) 
tilt (1.3.3) 
treetop (1.4.11) 
tzinfo (0.3.33) 
uglifier (1.3.0) 

Cependant, lorsque je crée un tout nouveau projet, je ne suis pas confronté à un tel problème. Quelqu'un peut-il s'il vous plaît me tél, quel pourrait être le problème?

Répondre

12

Supprimez le contenu de Gemfile.lock ou le fichier lui-même.

+1

Pouvez-vous expliquer pourquoi cela résoudrait le problème? –

+0

J'ai eu le même problème (Impossible de trouver capistrano-2.13.3 dans l'une des sources). Il semble – Umberto

+0

... ce problème peut facilement être résolu de cette façon. Gemfle.lock est un instantané des dépôts de gemmes gérés par Bundler. Si vous lancez 'bundle install' après la suppression du fichier, un nouvel instantané sera créé sans références obsolètes. Plus d'informations: http://gembundler.com/rationale.html. – Umberto

55

Cette version est passée de rubygems.org. Mise à jour Capistrano en exécutant la mise à jour bundle de cette façon:

bundle update capistrano 

De cette façon, vous mettez à jour uniquement Capistrano à la version actuelle. Si vous supprimez le Gemfile.lock et lancez le bundle, toutes les versions de gem seront mises à jour, ce qui n'est souvent pas ce que vous voulez.

+4

C'est la route la plus sûre si vous avez beaucoup de gemmes dont les versions ne sont pas spécifiées. Si vous supprimez le Gemfile.lock, il installera les versions les plus récentes de chaque gem qui n'est pas verrouillé à une version dans le Gemfile.Mise à jour du bundle de mise à jour Capistrano ne met à jour que Capistrano. – bnferguson

+1

Est-ce que quelqu'un sait pourquoi 2.13.4 a été retiré de rubygems? Y avait-il un problème de sécurité vraiment flagrant? –

+0

Vérifiez les commits sur github: https://github.com/capistrano/capistrano/commits/master – Fa11enAngel

0

Je viens de comprendre le problème. Le fauteur de troubles est RVM. Je crée un gemset pour mon application, et exécuter bundle dans ce gemset. Cependant, pour une raison quelconque, lorsque je cours des rails c ou que j'assemble des rails exec c, il cherche toujours dans le gemset global les gemmes dont il a besoin. Donc, une fois que je vais au gemset global et que j'installe toutes les gemmes, cela fonctionne. Je ne sais pas si c'est un problème de gemset rvm seul, ou une combinaison de gemset bundle + rvm.

Questions connexes