我正在努力让乘客+rvm+apache+rails 工作。打开页面时,我从乘客那里收到以下错误消息:
Ruby (Rack) 应用程序无法启动 这些是可能的原因: 应用程序代码中可能存在语法错误。请检查此类错误并修复它们。 可能未安装所需的库。请安装此应用程序所需的所有库。 应用程序可能未正确配置。请检查所有配置文件是否正确写入,修复任何不正确的配置,然后重新启动该应用程序。 应用程序依赖的服务(例如数据库服务器或 Ferret 搜索引擎服务器)可能尚未启动。请启动该服务。 有关错误的更多信息可能已写入应用程序的日志文件。请检查它以便分析问题。 错误信息: 未初始化的常量 Capistrano 异常类: 名称错误 应用程序根: /var/www/www.pixtur.org/rails/current 回溯: 文件行位置 0 /var/www/www.------------.----/rails/shared/bundle/ruby/1.9.1/gems/rvm-capistrano-1.2.0/lib/ rvm/capistrano.rb 3 in `' 1 /home/pixtur/.rvm/gems/ruby-1.9.2-p180@global/gems/bundler-1.1.3/lib/bundler/runtime.rb 74 在“要求” 2 /home/pixtur/.rvm/gems/ruby-1.9.2-p180@global/gems/bundler-1.1.3/lib/bundler/runtime.rb 74 在“rescue in block in require” 3 /home/pixtur/.rvm/gems/ruby-1.9.2-p180@global/gems/bundler-1.1.3/lib/bundler/runtime.rb 62 在`block in require' 4 /home/pixtur/.rvm/gems/ruby-1.9.2-p180@global/gems/bundler-1.1.3/lib/bundler/runtime.rb 55 在“每个” 5 /home/pixtur/.rvm/gems/ruby-1.9.2-p180@global/gems/bundler-1.1.3/lib/bundler/runtime.rb 55 在“要求” 6 /home/pixtur/.rvm/gems/ruby-1.9.2-p180@global/gems/bundler-1.1.3/lib/bundler.rb 119 在“要求”
我不明白,这个错误消息试图告诉我什么。令人困惑的是,它似乎指的是 ruby-1.9.1,而 rvm 应该映射到 1.9.2-p180。
欢迎任何帮助、指示或后续步骤来找到我们的更多信息。
$GEM_PATH
在远程机器上使用 ssh: $echo $GEM_PATH /home/pixtur/.rvm/gems/ruby-1.9.2-p180@pixtur-org:/home/pixtur/.rvm/gems/ruby-1.9.2-p180@全球的
当前部署.rb
require "bundler/capistrano"
set :rvm_ruby_string, ENV['GEM_HOME'].gsub(/.*\//,"") # Read from local system
# Load RVM's capistrano plugin:
require "rvm/capistrano"
set :user, 'pixtur'
set :domain, 'www.--------------.com'
set :applicationdir, "/var/www/www.somedomain.com/rails"
set :scm, 'git'
set :repository, "gitosis@------------------.git"
#set :git_enable_submodules, 1 # if you have vendored rails
set :branch, 'master'
set :git_shallow_clone, 1
set :scm_verbose, true
set :deploy_to, applicationdir
set :use_sudo, false
#set :scm, :git
role :app, domain
role :web, domain
role :db, domain, :primary => true
# additional settings
default_run_options[:pty] = true # Forgo errors when deploying from windows
namespace :deploy do
task :start, :roles => :app do
run "touch #{current_release}/tmp/restart.txt"
end
task :stop, :roles => :app do
end
task :restart, :roles => :app do
run "#{try_sudo} touch #{File.join(current_path,'tmp','restart.txt')}"
end
desc "Install bundler"
task :bundle_install do
begin
run "bundle install"
rescue
gem_install_bundler
end
end
end
.bundle/配置
---
BUNDLE_FROZEN: '1'
BUNDLE_PATH: /var/www/www.----------.---/rails/shared/bundle
BUNDLE_DISABLE_SHARED_GEMS: '1'
BUNDLE_WITHOUT: development:test
.rvmrc
if [[ -s "/Users/pixtur/.rvm/environments/ruby-1.9.2-p180@pixtur-org" ]] ; then
. "/Users/pixtur/.rvm/environments/ruby-1.9.2-p180@pixtur-org"
else
rvm --create use "ruby-1.9.2-p180@pixtur-org"