根据基本教程,RoR应用程序将无法加载

时间:2013-06-11 21:53:09

标签: ruby-on-rails ruby nginx webfaction

我能够在我的本地工作,但在webfaction的服务器上,我得到以下stacktrace:

堆栈跟踪:

There was an error in your Gemfile, and Bundler cannot continue. (Bundler::GemfileError)
  /home/vegan/webapps/lab95ror/gems/gems/bundler-1.2.3/lib/bundler/dsl.rb:12:in `rescue in evaluate'
  /home/vegan/webapps/lab95ror/gems/gems/bundler-1.2.3/lib/bundler/dsl.rb:6:in `evaluate'
  /home/vegan/webapps/lab95ror/gems/gems/bundler-1.2.3/lib/bundler/definition.rb:18:in `build'
  /home/vegan/webapps/lab95ror/gems/gems/bundler-1.2.3/lib/bundler.rb:144:in `definition'
  /home/vegan/webapps/lab95ror/gems/gems/bundler-1.2.3/lib/bundler.rb:112:in `setup'
  /home/vegan/webapps/lab95ror/gems/gems/bundler-1.2.3/lib/bundler/setup.rb:17:in `<top (required)>'
  /usr/local/lib/ruby20/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:110:in `require'
  /usr/local/lib/ruby20/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:110:in `rescue in require'
  /usr/local/lib/ruby20/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:35:in `require'
  /home/vegan/webapps/lab95ror/gems/gems/passenger-4.0.2/lib/phusion_passenger/loader_shared_helpers.rb:212:in `run_load_path_setup_code'
  /home/vegan/webapps/lab95ror/gems/gems/passenger-4.0.2/helper-scripts/rack-loader.rb:69:in `load_app'
  /home/vegan/webapps/lab95ror/gems/gems/passenger-4.0.2/helper-scripts/rack-loader.rb:96:in `<module:App>'
  /home/vegan/webapps/lab95ror/gems/gems/passenger-4.0.2/helper-scripts/rack-loader.rb:4:in `<module:PhusionPassenger>'
  /home/vegan/webapps/lab95ror/gems/gems/passenger-4.0.2/helper-scripts/rack-loader.rb:3:in `<main>'

我认为这与我的nginx配置有关?

nginx.conf

http {
    access_log  /home/vegan/logs/user/access_lab95ror.log  combined;
    error_log   /home/vegan/logs/user/error_lab95ror.log   crit;

    include         mime.types;
    passenger_root  /home/vegan/webapps/lab95ror/gems/gems/passenger-4.0.2;
    passenger_ruby  /home/vegan/webapps/lab95ror/bin/ruby;
    sendfile        on;

    passenger_max_instances_per_app  1;
    rails_spawn_method               conservative;
    passenger_max_pool_size 2;

    server {
        listen             19855;
        passenger_enabled  on;
        root               /home/vegan/webapps/lab95ror/lab95/public;
        server_name        localhost;

尝试使用与我的开发计算机相同的版本重新安装捆绑包

[vegan@web349 lab95]$ gem install bundler -v 1.3.5
Successfully installed bundler-1.3.5
1 gem installed
Installing ri documentation for bundler-1.3.5...
Installing RDoc documentation for bundler-1.3.5...
[vegan@web349 lab95]$ bundle install
-bash: bundle: command not found

我也在他们的论坛中发帖:http://community.webfaction.com/questions/13688/cannot-deploy-new-rails-app

的Gemfile

source 'https://rubygems.org'

gem 'rails', '3.2.3'
gem 'stripe', :git => 'https://github.com/stripe/stripe-ruby'
gem 'figaro'

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'

gem 'sqlite3'

gem 'json'

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'less'
  gem 'coffee-rails', '~> 3.2.1'

  # See https://github.com/sstephenson/execjs#readme for more supported runtimes
  gem 'therubyracer', :platform => :ruby

  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'

# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'

# To use Jbuilder templates for JSON
# gem 'jbuilder'

# Use unicorn as the app server
# gem 'unicorn'

# Deploy with Capistrano
# gem 'capistrano'

# To use debugger
# gem 'ruby-debug'

更新Nginx错误日志“我们很抱歉,但出了点问题。”

[ 2013-06-12 14:15:10.5040 22627/7f825b76f700 Pool2/Spawner.h:739 ]: [App 22748 stdout]
[ 2013-06-12 14:15:11.7469 22627/7f825b72e700 Pool2/Spawner.h:159 ]: [App 22748 stderr]         SECURITY WARNING: No secret option provided to Rack::Session::Cookie.
[ 2013-06-12 14:15:11.7470 22627/7f825b72e700 Pool2/Spawner.h:159 ]: [App 22748 stderr]         This poses a security threat. It is strongly recommended that you
[ 2013-06-12 14:15:11.7470 22627/7f825b72e700 Pool2/Spawner.h:159 ]: [App 22748 stderr]         provide a secret to prevent exploits that may be possible from crafted
[ 2013-06-12 14:15:11.7470 22627/7f825b72e700 Pool2/Spawner.h:159 ]: [App 22748 stderr]         cookies. This will not be supported in future versions of Rack, and
[ 2013-06-12 14:15:11.7470 22627/7f825b72e700 Pool2/Spawner.h:159 ]: [App 22748 stderr]         future versions will even invalidate your existing user cookies.
[ 2013-06-12 14:15:11.7470 22627/7f825b72e700 Pool2/Spawner.h:159 ]: [App 22748 stderr]
[ 2013-06-12 14:15:11.7470 22627/7f825b72e700 Pool2/Spawner.h:159 ]: [App 22748 stderr]         Called from: /home/vegan/webapps/lab95ror/gems/gems/actionpack-3.2.3/lib/action_dispatch/middleware/session/abstract_store.rb:28:in `initialize'.

2 个答案:

答案 0 :(得分:2)

听起来像Bundler可能不在您的系统路径中。从WebFaction documentation on Rails安装:

export GEM_HOME=$PWD/gems
export RUBYLIB=$PWD/lib
export PATH=$PWD/bin:$PATH

然后,尝试安装/重新安装Bundler:

gem install bundler

答案 1 :(得分:0)

$ rvm gemset使用global&amp;&amp;捆绑

我遇到类似的问题尝试使用上面的代码进行安装。