Lorsque je télécharge une photo, mon modèle échoue de validation, eh bien, même sans aucune validation, je suis retourné cette erreur:
/tmp/stream20100103-13830-ywmerx-0 is not recognized by the 'identify' command. and
/tmp/stream20100103-13830-ywmerx-0 is not recognized by the 'identify' command.
Je suis convaincu que cela n'est pas lié à ImageMagick, car j'ai supprimé tout traitement d'image du téléchargement, j'ai également essayé de télécharger différents types MIME, tels que les fichiers .txt et l'autre.
De plus, j'ai trouvé quelque chose qui peut fonctionner. Un blog post affirme que mettre les éléments suivants dans mon environnement (dans ce cas de développement.rb)
Paperclip.options[:command_path] = "/opt/local/bin"
Ceci est lié à ImageMagick. Les command_path
L'option doit pointer sur l'emplacement où identify
est installé. De la ligne de commande, vous pouvez déterminer cela avec which identify
.
$ which identify
/some/path/to/identify
Ensuite, ensemble command_path
à ce chemin (dans config/environments/development.rb
):
Paperclip.options[:command_path] = "/some/path/to"
Cela peut également être causé par l'utilisation de versions assez anciennes de Paperclip
(par exemple, version 2.4.x) avec des versions plus récentes et incompatibles du Cocaine
GEM.
J'ai pu résoudre ceci en procédant comme suit:
brew uninstall imagemagick
brew install imagemagick
Cela m'est arrivé quand j'ai mis à niveau OS X en lion.
Résolu par ...
fait une brew list
Pour voir tous les forfaits que vous avez et économisez quelque part
désinstallation de Homebrew (voir la "désinstallation 'sur cette page https://github.com/mxcl/homebrew/wiki/installation )
réinstallez Homebrew avec l'habituel
Ruby -e "$ (CURL -FSSL https://raw.github.com/gist/323731 )"
réinstallation de tous les paquets brew install ghostscript
brew install imagemagick
etc pour les autres que vous avez
Note, avant que Ghostscript ne réinstallerait que je devais appliquer la suggestion trouvée ici: https://github.com/mxcl/homebrew/issues/6381
brew edit ghostscript
Puis ajoutez le def patches
Bloc au bas de la classe Ghostscript:
class Ghostscript < Formula
.... existing code here ....
def patches
{ :p0 => 'http://ftp.netbsd.org/pub/NetBSD/packages/pkgsrc/print/ghostscript/patches/patch-ak' }
end
end
Le correctif ci-dessus peut être fusionné au moment où vous le lisez.
Après que l'imagemagick ait détecté JPEGS correctement.
TL; DR complètement désinstaller et réinstaller homebrew, Ghostscript (avec patch pour Lion) et ImageMagick
Je l'ai travaillé en installant Brew, http://mxcl.github.com/homebrew/
Et puis j'ai tapé:
brew install imagemagick
et après ça
gem install rmagick
Ensuite, je viens de supprimer les chemins d'option (PaperClip.Options [: Command_Path] = "...") que j'ai saisi manuellement dans l'environnement/développement.rb et initialize/papticlip.rb
Ajout de Rmagick au fichier GEM. Redémarré le serveur et cela a fonctionné comme un charme!
Cela a fonctionné à partir de http://arglebargle.posterous.com/path-environment-variable-for-rails-utilisation-pas
Mettre quelque chose comme ça dans le virtualhost (ou partout où le passager est mis en place):
SetEnv PATH /opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/mysql/bin
Pour ajouter une solution potentielle de plus que je n'ai pas vu beaucoup discuté: ldconfig
.
J'ai eu le même problème que je viens de passer une journée et demie à suivre. J'ai correctement réinstallé ImageMagick de la source avec le support PNG et JPEG supplémentaires, j'ai ajouté LD_LIBRARY_PATH
et DYLD_LIBRARY_PATH
Pour les variables d'environnement, je fixe le :command_path
Option pour PaperClip dans mon environnement de production Config. Bien que les commandes ImageMagick fonctionnaient de la ligne de commande, rien ne corrige mon problème de papier.
Enfin, après avoir vu ldconfig
mentionné en passant, j'ai essayé cela sur un caprice et cela a fonctionné.
Sudo ldconfig
J'ai peut-être pu accomplir la même chose en redémarrant Apache ou le matériel, mais je n'étais pas en mesure de le faire seul.
Habituellement, il aide à spécifier le chemin de la commande Identifier.
Paperclip.options[:command_path] = "/your/path/to/identify"
..as les autres ont mentionné. Mais le problème peut également se produire s'il y a une inadéquation de version, j'ai récemment mis à jour la version Ruby-On-Rails d'une application (à Rails 3.1.10), mais j'ai oublié de mettre à jour le gemme PaperClip . Après avoir mis à jour la version PaperClip à 2.8.0, cela a fonctionné à nouveau.
si vous essayez de télécharger une vidéo, alors "identifier" essaie de déléguer le travail à FFMPEG. Exemple
identify Desktop/00-ScalingRails-Introduction.mp4 [alaa@Zero>/home/alaa]
identify: delegate failed `"ffmpeg" -v -1 -vframes %S -i "%i" -vcodec pam -an -f rawvideo -y "%u.pam" 2> "%Z"' @ error/delegate.c/InvokeDelegate/1061.
identify: unable to open image `/tmp/magick-XXHF4ImT.pam': @ error/blob.c/OpenBlob/2498
dans cet exemple, l'installation de FFMPEG a supprimé le message d'erreur de la liste des erreurs de validation.
cela m'est également arrivé, j'ai essayé toute la méthode mentionnée ci-dessus. Je viens de changer la version papier, alors tout fonctionne bien.
J'ai eu cette question lors de l'utilisation d'OSX + MAMP + PASSAGER + PAPACKIP et après avoir défini le paramètre Command_Path et vous assurez que ImageMagick était correctement installé via Brew, définissez correctement les annuaires TEMP et Téléchargez les annuaires du passager à quelque chose d'écriture, il ne fonctionnerait toujours pas!
La solution consistait à éditer le fichier Envvée pour MAMP dans/Applications/MAMP/Bibliothèque/Bin/Envvée et commentant la ligne Export DyLD_Library_Path.
C'est-à-dire changer la ligne qui dit
export DYLD_LIBRARY_PATH
à
# export DYLD_LIBRARY_PATH
Puis redémarrez MAMP et ressentez l'élation lorsque vos images téléchargent/redimensionnement correctement.
Juste pour dire, vous pouvez également avoir ce message d'erreur pour ce que cela signifie.
Dans mon cas, la taille du fichier était la longueur de 0 octets car j'ai oublié de le rincer après l'avoir écrite d'un zip et transmettez cette ressource à PaperClip.
Il peut être intéressant de vérifier que vous pouvez réellement ouvrir le fichier avec votre visionneuse préférée avant de lire l'autre réponse de ce fil :)
Si vous êtes un utilisateur Mac et que cela n'a posé problème que depuis la mise à jour de votre système d'exploitation à 10.8, il pourrait s'agir d'un problème X11, comme indiqué ici http://support.apple.com/kb/ht529 Englisons
identifier ~/chemin/à/à l'image
Ne travaillait pas pour moi même après avoir essayé toutes les corrections ci-dessus. J'ai installé Xquartz de http://xquartz.macosforge.org/landing/ et maintenant, cela fonctionne à nouveau.
Peut aider les autres trop ...