web-dev-qa-db-fra.com

Impossible de trouver rake-10.0.3 dans aucune des sources

J'ai installé avec succès une application Rails (3.2.10) sur un serveur Ubuntu 12.04 sur Rackspace après le déploiement de Railscasts 335 sur un vps. Nginx, Licorne, Rbenv et Capistrano.

Ensuite, lorsque j'essaie d'installer un deuxième site Web Rails, l'erreur "Impossible de trouver rake-10.0.3 dans aucune des sources" lors de la procédure cap: deploy. cap: setup et cap: check ont ​​été réussis. En outre, il n'y a pas de répertoire en cours sous mon dossier d'application.

Si je cd dans le répertoire des versions et que je lance l’installation en bundle, il utilise rake-10.0.3. La seule différence entre les deux applications est que la nouvelle application que j'essaie d'installer utilise le pipeline d'actifs.

Voici mon fichier de déploiement qui est identique pour les deux applications, à l'exception de la directive set: application.

set :user, 'mark'
set :scm_passphrase, 'xxxx'
set :domain, '99.99.99.99'
set :application, "my_app"

set :repository,  "#{user}@#{domain}:git/#{application}.git"

ssh_options[:forward_agent] = true

set :deploy_to, "/var/www/#{application}"

role :app, domain
role :web, domain
role :db,  domain, :primary => true

default_run_options[:pty] = true

set :deploy_via, :remote_cache

set :scm, 'git'
set :branch, 'master'
set :scm_verbose, true
set :use_Sudo, false

after "deploy", "deploy:cleanup" # keep only the last 5 releases

namespace :deploy do
  %w[start stop restart].each do |command|
    desc "#{command} Unicorn server"
    task command, roles: :app, except: {no_release: true} do
      run "/etc/init.d/Unicorn_#{application} #{command}"
    end
  end

  task :setup_config, roles: :app do
    Sudo "ln -nfs #{current_path}/config/nginx.conf /etc/nginx/sites-enabled/#{application}"
    Sudo "ln -nfs #{current_path}/config/Unicorn_init.sh /etc/init.d/Unicorn_#{application}"
    run "mkdir -p #{shared_path}/config"
    put File.read("config/database.yml"), "#{shared_path}/config/database.yml"
    puts "Now edit the config files in #{shared_path}."
  end
  after "deploy:setup", "deploy:setup_config"

  task :symlink_config, roles: :app do
    run "ln -nfs #{shared_path}/config/database.yml #{release_path}/config/database.yml"
  end
  after "deploy:finalize_update", "deploy:symlink_config"

  desc "Make sure local git is in sync with remote."
  task :check_revision, roles: :web do
    unless `git rev-parse HEAD` == `git rev-parse Origin/master`
      puts "WARNING: HEAD is not the same as Origin/master"
      puts "Run `git Push` to sync changes."
      exit
    end
  end
  before "deploy", "deploy:check_revision"
end
15
markhorrocks

Supprimer toutes les versions de Rake ==> gem uninstall rake
Supprimer Gemfile.lock ==> rm Gemfile.lock
Exécuter l’installation en groupe ==> bundle install

gem install rake --version=10.0.2

si vous obtenez toujours l'erreur, inscrivez-la dans votre gemfile.

gem 'rake', '0.8.7'
20
Festus Tamakloe
bundle update rake

a travaillé pour moi. J'ai eu le même problème.

8
ersentekin

Si vous cherchez toujours une solution ... Pour moi, il s’agissait simplement d’utiliser Sudo bundle install au lieu de bundle install.

5
Tim S

J'ai eu le même message d'erreur cryptique ... Il s'avère que j'avais créé une version "clonée" dans le dossier des versions, ce qui donnait à Sprockets l'envie de faire des choses là-bas ... Je pense que cap utilise la date de création lorsqu'il traverse la version. si bien que cela a quelque chose de foiré ... assurez-vous qu'il n'y a pas d'autres dossiers 'faits à la main' dans votre dossier/releases/et que vous devriez aller au-delà de ce bogue 

2
copremesis

J'ai eu le même problème. La cause de mon problème était que Rake se trouvait également dans /usr/bin/local/ en plus d’être dans le répertoire shims de rbenv. Pour vérifier si tel est le problème, commencez par désinstaller rake gem uninstall rake, puis exécutez which rake. Si vous récupérez un chemin différent de /Users/username/.rbenv/shims/rake, supprimez simplement ce binaire à l'aide de Sudo rm /path/to/file.

Notez que dans mon cas au moins, which gem utilisait un exécutable shimed géré par rbenv, alors que rake ne l’était pas. Donc, tout a fonctionné jusqu'à ce que j'essaye d'appeler rake command depuis le terminal.

Voir aussi: Après avoir installé rbenv et changé de version de Ruby, Rake ne fonctionne plus

1
Michael Yagudaev

Pour la version Rails à partir de la version 4.3, essayez avec bundle exec Rails app:update. Cela a fonctionné pour moi.

J'espère que c'est utile pour vous.

0
Brilliant