2012-01-18 1 views
2

Я пытаюсь запустить через приложение Capistrano. Также я использую:Rails 3.1: Не удалось найти rake

Ubuntu 10.04.1 LTS 
Phusion Passenger 
PostgreSQL 9 
Nginx 
Rails 3.1.3 
Ruby 1.9.3 

После того, как я сделал

cap deploy:update 

Это создает папки и т.д.

Тогда я стараюсь в /ток FOLDER

rake RAILS_ENV=production db:schema:load 

И теперь это следующий:

Could not find rake-0.9.2.2 in any of the sources 
Run `bundle install` to install missing gems. 

Но его установлено! Я пробовал $ bundle install, $ gem update rake это не помогло. Эта ошибка появляется снова и снова.

список $ самоцвет

*** LOCAL GEMS *** 

actionmailer (3.1.3) 
actionpack (3.1.3) 
activemodel (3.1.3) 
activerecord (3.1.3) 
activeresource (3.1.3) 
activesupport (3.1.3) 
ansi (1.4.1) 
arel (2.2.1) 
autotest (4.4.6) 
builder (3.0.0) 
bundler (1.0.21 ruby) 
coffee-rails (3.1.1) 
coffee-script (2.2.0) 
coffee-script-source (1.2.0) 
daemon_controller (0.2.6) 
erubis (2.7.0) 
execjs (1.2.13) 
fastthread (1.0.7) 
ffi (1.0.11) 
gravatar_image_tag (1.0.0) 
hike (1.2.1) 
i18n (0.6.0) 
jquery-rails (1.0.19) 
json (1.6.5) 
libv8 (3.3.10.4 x86_64-linux) 
mail (2.3.0) 
mime-types (1.17.2) 
multi_json (1.0.4) 
passenger (3.0.11) 
pg (0.12.2) 
polyglot (0.3.3) 
rack (1.3.6) 
rack-cache (1.1) 
rack-mount (0.8.3) 
rack-ssl (1.3.2) 
rack-test (0.6.1) 
rails (3.1.3) 
railties (3.1.3) 
rake (0.9.2.2, 0.9.2) 
rdoc (3.12) 
sass (3.1.12) 
sass-rails (3.1.5) 
sprockets (2.0.3) 
sqlite3 (1.3.5) 
sys-uname (0.9.0) 
texticle (2.0) 
therubyracer (0.9.9) 
thor (0.14.6) 
tilt (1.3.3) 
treetop (1.4.10) 
turn (0.8.3) 
tzinfo (0.3.31) 
uglifier (1.2.2) 
will_paginate (3.0.2) 
ZenTest (4.6.2) 

$ список драгоценных камней грабли

*** LOCAL GEMS *** 

rake (0.9.2.2, 0.9.2) 

Вот мой конфиг/deploy.rb

set :user, "root"                

set :rails_env, "production" 

default_run_options[:pty] = true            
set :repository, "git://github.com/Loremaster/sample_app.git" 

set :application, "ror_tutorial" 
set :deploy_to, "/vol/www/apps/#{application}" 

set :scm, :git 
set :branch, "master" 

server "xxx.xxx.xxx.xxx", :app, 
          :web, 
          :db, :primary => true 



# If you are using Passenger mod_rails uncomment this: 
namespace :deploy do 
    task :start do ; end 
    task :stop do ; end 
    task :restart, :roles => :app, :except => { :no_release => true } do 
    run "#{try_sudo} touch #{File.join(current_path,'tmp','restart.txt')}" 
    end 
end 

Capfile

load 'deploy' if respond_to?(:namespace) # cap2 differentiator 

# Uncomment if you are using Rails' asset pipeline 
# load 'deploy/assets' 

Dir['vendor/gems/*/recipes/*.rb','vendor/plugins/*/recipes/*.rb'].each { |plugin| load(plugin) } 

load 'config/deploy' # remove this line to skip loading any of the default tasks 

UPD: Я исправил ошибку с граблями, добавив рейк камень в Gemfile, а затем запустить bundle install на моей локальной машине, а затем загрузить его на сервер с помощью Capistrano.

ответ

0

Я исправил ошибку с граблями, добавив gem rake в Gemfile, а затем запустить bundle install на моей локальной машине, а затем загрузить его на сервер через Капистрано ,

+0

Я не верю, что это правильный способ сделать это, хотя это может сработать. Был ли мой ответ ниже, потому что лучший способ сделать это - позволить пользователю capistrano быть единственным, кто может выполнять команды рельсов. Кроме того, рейк действительно не должен быть в gemfile. –

+0

У меня нет такого пользователя, как «capistrano» в моей системе. Это первое.И я получил ошибку «Не могу найти рейк» каждый раз, когда я пытался запустить «rake RAILS_ENV = production db: schema: load», и это второе. – ExiRe

0

Попробуйте это:

RAILS_ENV=production bundle exec rake db:schema:load 

Он должен работать граблями в контексте Bundler.

+0

Нет, это не поможет. «Не удалось найти rake-0.9.2.2 в любом из источников» – ExiRe

+0

Выполняете ли вы его как того же пользователя, которого вы установили в файле deploy.rb (в данном случае: root)? –

+0

Да, я знаю! Я делаю это через ssh, и я являюсь пользователем root. – ExiRe

0

Вместо корня, я считаю, вы должны сделать это как capistrano. Попробуйте это:

sudo su capistrano 

Затем введите свой пароль и сделать

rake RAILS_ENV=production db:schema:load 

 Смежные вопросы

  • Нет связанных вопросов^_^