Не удалось найти rake-10.0.3 в любом из источников
Я успешно установил приложение Rails (3.2.10) на сервере Ubuntu 12.04 на Rackspace после развертывания Railscasts 335 в vps. Nginx, Unicorn, rbenv и Capistrano.
Затем, когда я пытаюсь установить второй сайт рельсов, я получаю сообщение об ошибке "Не удалось найти rake-10.0.3 в любом из источников" во время cap: deploy. cap: setup и cap: проверка прошла успешно. Кроме того, в моей папке приложения нет текущего каталога.
Если я записываю CD в каталог выпусков и запускаю установку пакета, то он использует rake-10.0.3. Единственное отличие между этими двумя приложениями заключается в том, что новое приложение, которое я пытаюсь установить, использует конвейер активов.
Вот мой файл развертывания, который идентичен для обоих приложений, за исключением директивы 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
Ответы
Ответ 1
Удалите все версии Rake == > gem uninstall rake
Удалить Gemfile.lock == > rm Gemfile.lock
Запустить набор пакетов == > bundle install
gem install rake --version=10.0.2
если вы все равно получите ошибку, затем поместите это в свой gemfile.
gem 'rake', '0.8.7'
Ответ 2
bundle update rake
работал у меня. У меня была аналогичная проблема.
Ответ 3
Если вы все еще ищете исправление... Для меня это вопрос использования sudo bundle install
вместо bundle install
.
Ответ 4
У меня было такое же загадочное сообщение об ошибке.... оказалось, что я создал "клонированную" версию внутри папки выпуска, которая заставляет звездочки захотеть что-то там делать... Я думаю, что cap использует дату создания как это перемещается по дереву релиза, так как-то это перепутано... убедитесь, что в вашей папке/release/папке нет дополнительных "ручных" папок, и вы должны пройти мимо этой ошибки
Ответ 5
У меня была та же проблема. Причиной моей проблемы было то, что Rake также был найден в /usr/bin/local/
в дополнение к тому, что он находится в каталоге прокладок в rbenv. Чтобы проверить, если это проблема, сначала удалите грабли gem uninstall rake
, затем запустите which rake
. Если вы вернете путь, отличный от /Users/username/.rbenv/shims/rake
, тогда просто удалите этот двоичный код с помощью sudo rm /path/to/file
.
Обратите внимание, что в моем случае, по крайней мере, which gem
использовал исполняемый файл, который управлялся rbenv, а rake - нет. Так что все работало, пока я не попытался вызвать rake command
из терминала.
Также смотрите: После установки rbenv и изменения версии Ruby Rake больше не работает