在Materialize中出现阻塞:rails无法在任何来源中找到multi_json-1.8.0。

3

这是我的deploy.rb文件:

require "bundler/capistrano"

set :rvm_ruby_string, "ruby-2.0.0-p247"
set :rvm_type, :user

set :application, "myapp"
set :repository,  "git@bitbucket.org:user/myapp.git"
set :user, "my-server-username-ssh"
set :branch, "master"

set :deploy_to, "/var/rails_apps/myapp"  # I have current, release and shared directory here
set :deploy_via, :copy
set :use_sudo, true
set :rvm_install_with_sudo, true

default_run_options[:pty] = true

set :port, 1234

set :scm, :git

role :web, "myapp.com"
role :app, "myapp.com"
role :db,  "myapp.com", :primary => true
role :db,  "myapp.com"

after "deploy:update_code","deploy:config_symlink"

set :rvm_type, :system

# 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

  task :config_symlink do
    #run "cp #{release_path}/config/database.yml.example #{release_path}/config/database.yml"
  end

  desc 'Re-establish database.yml'
  task :set_database_symlink do
    run "rm -fr #{current_path}/config/database.yml && cd #{current_path}/config &&
        ln -nfs #{shared_path}/database.yml database.yml" 
  end
end

before 'deploy', 'rvm:install_ruby'
before 'deploy', 'rvm:create_gemset'

require "rvm/capistrano"

如果我运行cap deploy:migrate命令,会出现找不到数据库的错误。

当我在服务器上手动运行rake db:create时,遇到了这个错误。

/usr/local/rvm/gems/ruby-2.0.0-p247@global/gems/bundler-1.3.5/lib/bundler/spec_set.rb:92:in `block in materialize': Could not find multi_json-1.8.0 in any of the sources (Bundler::GemNotFound)

我该如何创建和迁移我的数据库。

编辑-1

即使我使用以下命令更新了我的证书

rvm osx-ssl-certs update all

在我的gem列表中,我可以找到

multi_json (1.8.2)

2个回答

1

我已经安装了这个宝石,但我需要

bundle update multi_json

0

看起来你可能需要多个版本的multi_json gem。你可以尝试指定gem版本,例如:

gem 'multi_json', '1.8.0'

在部署前在本地重新运行bundle命令并提交Gemfile.lock文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接