2017-05-09 13 views
0

私はRuby on Railsアプリケーションを開発中に完全に実行していますが、打ち上げ私はデバッグしていて、この問題を一日中、無駄にしています。プーマはプロダクションで起動できませんアプリケーションをロードできません:NoMethodError:#<クラス:0x000000065f8ee8>

私はプロダクションサーバーからこのアプリケーションを完全に拭き取り、ゼロから始めました。同じ結果。

私は異なったバージョンのプーマを試しました。違いはありません。

私はGemfileを別の方法で注文しようとしました。

私は、ckeditor、mini_magick、およびcarrierwaveに関する既知の問題を調べて、それまでのところ何も役立つものは見つけられませんでした。

mekilacms宝石は私がこのプロジェクト用に変更したWellspringのバージョンです。私はWellspringが関連性があると思われるものは見つかりませんでした。

正直、私はアイデアが不足しています。これについての助けに本当に感謝します。ここで

は私が取得しています問題を示しpuma.error.logです:

=== puma startup: 2017-05-08 17:35:06 -0400 === 
! Unable to load application: NoMethodError: undefined method `process' for #<Class:0x000000065f8ee8> 
Did you mean? proc 
bundler: failed to load command: puma (/home/www-data/apps/TrueSelfAcademy/shared/bundle/ruby/2.3.0/bin/puma) 

これはカピストラーノからか、デプロイユーザとしてコマンドラインから実行するかどうか発生します。

Puma starting in single mode... 
* Version 3.6.2 (ruby 2.3.0-p0), codename: Sleepy Sunday Serenity 
* Min threads: 4, max threads: 16 
* Environment: production 
! Unable to load application: NoMethodError: undefined method `process' for #<Class:0x000000065f55b8> 
Did you mean? proc 
bundler: failed to load command: puma (/home/www-data/apps/TrueSelfAcademy /shared/bundle/ruby/2.3.0/bin/puma) 
NoMethodError: undefined method `process' for #<Class:0x000000065f55b8> 
Did you mean? proc 
/home/www-data/apps/TrueSelfAcademy/shared/bundle/ruby/2.3.0 /gems/activerecord-5.0.1/lib/active_record/dynamic_matchers.rb:21:in `method_missing' 
/var/www/apps/TrueSelfAcademy/shared/bundle/ruby/2.3.0/bundler/gems/ckeditor-11d3a5b90564/lib/ckeditor/backend/carrierwave.rb:14:in `block in extended' 
/var/www/apps/TrueSelfAcademy/shared/bundle/ruby/2.3.0/bundler/gems/ckeditor-11d3a5b90564/lib/ckeditor/backend/carrierwave.rb:13:in `class_eval' 
/var/www/apps/TrueSelfAcademy/shared/bundle/ruby/2.3.0/bundler/gems/ckeditor-11d3a5b90564/lib/ckeditor/backend/carrierwave.rb:13:in `extended' 
/var/www/apps/TrueSelfAcademy/shared/bundle/ruby/2.3.0/bundler/gems/ckeditor-11d3a5b90564/lib/ckeditor/backend/carrierwave.rb:8:in `extend' 
/var/www/apps/TrueSelfAcademy/shared/bundle/ruby/2.3.0/bundler/gems/ckeditor-11d3a5b90564/lib/ckeditor/backend/carrierwave.rb:8:in `included' 
/var/www/apps/TrueSelfAcademy/shared/bundle/ruby/2.3.0/bundler/gems/MeKila-CMS-f997bb08ed5d/app/models/mekilacms/asset.rb:4:in `include' 
/var/www/apps/TrueSelfAcademy/shared/bundle/ruby/2.3.0/bundler/gems/MeKila-CMS-f997bb08ed5d/app/models/mekilacms/asset.rb:4:in `<class:Asset>' 
/var/www/apps/TrueSelfAcademy/shared/bundle/ruby/2.3.0/bundler/gems/MeKila-CMS-f997bb08ed5d/app/models/mekilacms/asset.rb:1:in `<top (required)>' 
<...snip...> 

環境:

これは、コマンドライン上にスクロールするものである のRails 5.0.1、 Rubyの2.4.0rc1(2016年12月12日トランク57064)[x86_64の-linuxの]、 Ubuntu Server 16.04(両方ともprodとdev - 完全に更新されました) rvm 1.28.0、 bundler 1.14.6。

Capistranoバージョン3.8.1(Rake Version:12.0.0)を使用して本番環境への配置を実行します。これはエラーなしで完了します。ここで

はGemfileである:ここでは

source 'https://rubygems.org' 

git_source(:github) do |repo_name| 
    repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/") 
    "https://github.com/#{repo_name}.git" 
end 


# Bundle edge Rails instead: gem 'rails', github: 'rails/rails' 
gem 'rails', '~> 5.0.1' 
#use postgresql as the database 
gem 'pg' 
# Use Puma as the app server 
gem 'puma', '3.6.2' # 3.7.0 has bug which results in no socket being created 
# Use SCSS for stylesheets 
gem 'sass-rails', '>= 5.0.6' 
# Use Uglifier as compressor for JavaScript assets 
gem 'uglifier', '>= 1.3.0' 
# Use CoffeeScript for .coffee assets and views 
gem 'coffee-rails', '~> 4.2' 
# See https://github.com/rails/execjs#readme for more supported runtimes 
gem 'therubyracer', platforms: :ruby 
# Sprockets 
gem 'sprockets', '3.6.3' 
# Use Bootstrap for site CSS 
gem 'bootstrap-sass' 
gem 'twitter-bootswatch-rails' 
gem 'twitter-bootswatch-rails-helpers' 
gem 'twitter-bootswatch-rails-fontawesome' 

# Use jquery as the JavaScript library 
gem 'jquery-rails' 
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks 
gem 'turbolinks', '~> 5' 
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder 
gem 'jbuilder', '~> 2.5' 
# Use Redis adapter to run Action Cable in production 
# gem 'redis', '~> 3.0' 
# Use ActiveModel has_secure_password 
# gem 'bcrypt', '~> 3.1.7' 


gem 'devise' 
# gem 'toastr-rails' 
gem 'remotipart', github: 'mshibuya/remotipart' 
gem 'rails_admin', '>= 1.0.0.rc' 
gem 'cancancan' 

group :development, :test do 
    # Call 'byebug' anywhere in the code to stop execution and get a debugger console 
    gem 'byebug', platform: :mri 
    gem 'spring-commands-rspec' 
    gem 'database_cleaner' 
    gem 'rspec-rails' 
    gem 'factory_girl_rails' 
end 

group :development do 
    # Access an IRB console on exception pages or by using <%= console %> anywhere in the code. 
    gem 'web-console', '>= 3.3.0' 
    gem 'listen', '~> 3.0.5' 
    # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring 
    gem 'spring' 
    gem 'spring-watcher-listen', '~> 2.0.0' 
    gem 'capistrano',   require: false 
    gem 'capistrano-rvm',  require: false 
    gem 'capistrano-rails',  require: false 
    gem 'capistrano-bundler', require: false 
    gem 'capistrano3-puma',  require: false 

end 

group :test do 
    gem 'capybara' 
    gem 'selenium-webdriver' 
end 

# Windows does not include zoneinfo files, so bundle the tzinfo-data gembundle 
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] 

# Capture user's timezone from their browser 
gem 'browser-timezone-rails' 

gem 'yaml_db' 
gem 'rails-html-sanitizer' 

# WYSIWYG functionality 
gem 'carrierwave' 
gem 'mini_magick' 
gem 'ckeditor', :git => 'git://github.com/galetahub/ckeditor.git' 

# CMS functionality 
#gem 'mekilacms', path: '../mekilacms/' 
gem 'mekilacms', :git => '[email protected]:david/MeKila-CMS.git' 

はCapfileは次のとおりです。

require 'capistrano/setup' 
require 'capistrano/deploy' 

require 'capistrano/rails' 
require 'capistrano/bundler' 
require 'capistrano/rvm' 
require 'capistrano/puma' 
install_plugin Capistrano::Puma 
require 'capistrano/scm/git' 
install_plugin Capistrano::SCM::Git 

Dir.glob('lib/capistrano/tasks/*.rake').each { |r| import r } 

この中で、それを含めて幸せ...あなたが見てする必要がある何かがあるかどうか、私に教えてください役職。

ありがとうございました! David

読みやすくするため、ここではアセットモデルを示します。私はコメントでそれを入れて、読みにくい見えた...

class Ckeditor::Asset < ActiveRecord::Base 
    include ActiveRecord 
    include Ckeditor::Orm::ActiveRecord::AssetBase 
    include Ckeditor::Backend::CarrierWave 
end 

ここckeditor_picture_uploaderファイルです。それは確かにプーマが不平を言っている "プロセス" 呼び出しを持っています。私は現在資産経路と資産プリコンパイルを見ています...

class CkeditorPictureUploader < CarrierWave::Uploader::Base 
    include Ckeditor::Backend::CarrierWave 
    include CarrierWave::MiniMagick 

    storage :file 

    def store_dir 
    "uploads/ckeditor/pictures/#{model.id}" 
    end 

    process :extract_dimensions 

    version :thumb do 
    process resize_to_fill: [118, 100] 
    end 

version :content do 
    process resize_to_limit: [800, 800] 
end 

def extension_white_list 
    Ckeditor.image_file_types 
end 

エンド

+0

アプリ全体で「プロセス」を検索すると、何件が見つかりますか?確かにそこには迷子があります。 –

+0

'Asset'モデルのコードを追加してください。 –

+0

@ Md.FarhanMemonコメントにはない3つのファイルがあり、そのうち3つはckeditor_picture_uploader.rbというファイルにあります。私はgithubのckeditor gemページに、そこに記録されている問題をふるいにかけています。興味深いことに、この宝石をプロダクションに配備することには数多くの問題がありますが、これまでの修正のどれも、私には言及していません。 –

答えて

0

まあこれは奇妙ですが、解決しました。

pumaが握っている 'process'メソッドは通常、carrierwave gemのuploader/processing.rbファイルで定義されています。

私は通常私が言うので、私はそうではありませんでした。どういうわけか、「プロセス」を含んでいない不正なprocessing.rbファイル(それは邪悪なツインプロセスです!)で巻き取られました。私は、これがどう起こったのか、私の脳を緊張させ、本当にそれを説明できません。

しかし、ファイルの正常なコピーを取得し、私の不正な形式のファイルをそれに置き換えて、問題を解決しました。

ほとんど敵意がないようですね。

とにかく、私は@ Md.FarhanMemonと@ SachinSinghに感謝し、彼らが応答して質問をする時間を取ってくれたことに感謝したいと思います。

関連する問題