Spree 샘플 데이터를 실행할 때 오류가 발생합니다. Spree가 제품 데이터, 특히 제품 이미지를로드하려고 할 때 발생합니다. 다음과 같은 오류가 발생합니다.Spree 샘플 이미지를 처리하는 중 오류 - paperclip geometry.rb의 identify 명령으로 인식 할 수없는 파일 : 29
* Execute db:load_file
loading ruby <GEM DIR>/sample/lib/tasks/../../db/sample/spree/products.rb
-- Processing image: ror_tote.jpeg
rake aborted!
/var/folders/91/63kgbtds2czgp0skw3f8190r0000gn/T/ror_tote.jpeg20121007-21549-2rktq1 is not recognized by the 'identify' command.
<GEM DIR>/paperclip-2.7.1/lib/paperclip/geometry.rb:31:in `from_file'
<GEM DIR>/spree/core/app/models/spree/image.rb:35:in `find_dimensions'
ImageMagick이 올바르게 설치되었는지는 이전에 문제가 있었던 것과 마찬가지입니다. 다음은 identify 명령을 직접 실행할 때 얻는 결과입니다.
$ identify
Version: ImageMagick 6.7.7-6 2012-10-06 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: OpenCL
... other usage info omitted ...
또한 pry-debugger에서 pry를 사용하고 Paperclip 내부에 geometry.rb에 중단 점을 넣었습니다.
file_path => "/var/folders/91/63kgbtds2czgp0skw3f8190r0000gn/T/ror_tote.jpeg20121007-22732-1ctl1g1"
나는 또한 이중 확인했습니다
# Uses ImageMagick to determing the dimensions of a file, passed in as either a
# File or path.
# NOTE: (race cond) Do not reassign the 'file' variable inside this method as it is likely to be
# a Tempfile object, which would be eligible for file deletion when no longer referenced.
def self.from_file file
file_path = file.respond_to?(:path) ? file.path : file
raise(Errors::NotIdentifiedByImageMagickError.new("Cannot find the geometry of a file with a blank name")) if file_path.blank?
geometry = begin
silence_stream(STDERR) do
binding.pry
Paperclip.run("identify", "-format %wx%h :file", :file => "#{file_path}[0]")
end
rescue Cocaine::ExitStatusError
""
rescue Cocaine::CommandNotFoundError => e
raise Errors::CommandNotFoundError.new("Could not run the `identify` command. Please install ImageMagick.")
end
parse(geometry) ||
raise(Errors::NotIdentifiedByImageMagickError.new("#{file_path} is not recognized by the 'identify' command."))
end
내 binding.pry 문의 시점에서, FILE_PATH 변수가 다음을 설정한다 : 여기 geometry.rb의 섹션이 생겼는지 이 디렉토리에 내 파인더를 열어 미리보기 앱으로 열었습니다. 또한 프로그램이 %x{identify}
을 실행하여 식별 할 수 있으며 이전과 동일한 버전 Version: ImageMagick 6.7.7-6 2012-10-06 Q16
을 수신합니다. 나는 또한이 업데이트를 수동으로 시도했습니다
Cocaine::ExitStatusError: Command 'identify -format %wx%h :file' returned 1. Expected 0
:
파일 확장자 후 추가 숫자를 (?이 시간 소인입니다) 제거 및 올립니다에서 수동으로 Paperclip.run 명령을 실행하는 것은 나에게 다른 오류를 제공합니다 Spree에서 3.0.2까지의 종이 클립 보석과 같은 오류가 발생합니다. 그래서, 나는 그 밖에 무엇을 시도해야하는지 잘 모르겠습니다. ImageMagick 설정에 문제가 있습니까?