oss-gate / workshop

OSSの開発に未参加または参加したことはあるけどまだ自信がない人を後押しするワークショップ用のリポジトリー
123 stars 540 forks source link

OSS Gateワークショップ 2016-9-24: ogidow: rmagick: 作業ログ #127

Closed ogidow closed 7 years ago

ogidow commented 7 years ago

OSS Gate へようこそ。

OSS Gateワークショップでは一人ずつ issue を作り、そこに作業ログを残しながら進めます。 過去のビギナーのものはこちらで見られます。 https://github.com/oss-gate/workshop/issues?q=is%3Aissue+is%3Aclosed

この issue 作成時点でまずやること

作業ログを書くタイミングは次のタイミングです。

作業ログに残すことは次のことです。「備考」以外は作業の邪魔にならないように一言でよいです。備考は作業に役立つので必要な分だけ書いてください。

ログはコメントとして追記していってください。テンプレートは次の通りです。

* 作業:(ここにやること、やっていること、やったことを書く)
* 思っていること:(今どう思っているかを書く)

備考:(必要なら必要なだけ書く。必要ないなら書かなくてもよい。)

例1(備考なし):

* 作業:インストールを始めた
* 思っていること:ドキュメント通りに進めれば大丈夫だろう

例2:

* 作業:インストールが失敗した
* 思っていること:ドキュメントに手順が足りない?

備考:エラーメッセージは次の通り

```text
XXX is not found

必要なファイルが足りないのかなぁ。


## ふりかえり

作業ログは、ビギナーが、このワークショップを通して得るものをより増やすために重要になります。なぜなら作業ログがメンターからのフィードバックをより充実させるからです。

作業ログを元にメンターと「ふりかえり」をするタイミングがあります。「ふりかえり」では次のことをします。
- ビギナーは作業ログの内容を順にメンターに説明する。
- メンターは説明を聞いてビギナーにフィードバックをする。

メンターは次のようなフィードバックをします。これは、ビギナーとは違う視点からビギナーの行動を観察することおよびメンターの経験があるからできることです。(「ふりかえり」の前にこんなフィードバックをよろしくお願いします!とお願いすると効果が高まるので実践してみましょう。)
- ビギナーが気づかずにやっていたよい行動に気づくきかっけを与え、今後もその行動を継続するように促します。
- ビギナーが困っていることについて、解決策を一緒に考えてくれます。
- 適切な質問をしてビギナーが整理できていない行動や考えを整理してくれます。
- ビギナーが「問題」だと認識していないこと(「問題発見」は難しい!)をメンターの視点から「問題」だと見つけてくれます。「問題」がはっきりしたら直しましょう。
- ビギナーが次にどの方向に進めばよいかを整理してくれます。

このように、ビギナーの作業をメンター視点で一緒に整理し、ビギナーの今後の行動に活かす活動がここでいう「ふりかえり」です。そのため、「ビギナーにとって」ログに残すべきかどうか、という視点ではなく、「とりあえずログに残す」という視点でログを残してください。これは、ビギナーが重要だと判断しなくてもメンターの視点から見たら大事なこともあるからです。
ogidow commented 7 years ago

やること

READMEに従ってrmagickを動かす

ogidow commented 7 years ago

作業

思ったこと

image magickの公式ページにバイナリがようなのでダウンロードしてパス通すだけで良さそう

ogidow commented 7 years ago

READMEではImageMagickの公式ページへ誘導しているが、brew installでイントールできないのか

ogidow commented 7 years ago

普通にbrew install imagemagickでインストールできそう http://qiita.com/noir/items/dc7366be57f987c04a20

ogidow commented 7 years ago

home brewでImageMagickをインストール

$ brew install imagemagick ``` brew install imagemagick ==> Auto-updated Homebrew! Updated 5 taps (caskroom/cask, homebrew/core, homebrew/dupes, homebrew/php, homebrew/versions). ==> New Formulae alot homebrew/php/php71-swoole apache-zeppelin homebrew/php/php71-tidy certigo homebrew/php/php71-timecop cf4ocl homebrew/php/php71-uuid direvent homebrew/php/php71-xdebug docx2txt homebrew/php/php71-xxtea dosfstools homebrew/php/php71-yaml dscanner homebrew/php/xdebug-osx elvish homebrew/versions/apache-spark16 eventql homebrew/versions/arangodb2 feedgnuplot homebrew/versions/bazel02 fsevents-tools homebrew/versions/boost160 genext2fs homebrew/versions/clang-format38 git-remote-hg homebrew/versions/docker111 gitversion homebrew/versions/elasticsearch23 grafana homebrew/versions/erlang-r18 grip homebrew/versions/erlang-r19 gron homebrew/versions/go16 hashcat homebrew/versions/grails24 hg-fast-export homebrew/versions/grails25 hivemind homebrew/versions/gsl1 homebrew/php/php53-geos homebrew/versions/logstash23 homebrew/php/php54-geos homebrew/versions/solr54 homebrew/php/php54-meminfo homebrew/versions/spidermonkey45 homebrew/php/php55-geos homebrew/versions/srtp15 homebrew/php/php55-meminfo hopenpgp-tools homebrew/php/php56-geos httpstat homebrew/php/php56-meminfo hyper homebrew/php/php70-couchbase jxrlib homebrew/php/php70-ds lean-cli homebrew/php/php70-gearman lego homebrew/php/php70-geoip lepton homebrew/php/php70-geos libbdplus homebrew/php/php70-phalcon libdivecomputer homebrew/php/php70-ref libngspice homebrew/php/php70-scrypt libuninameslist homebrew/php/php70-solr libvterm homebrew/php/php70-yaf liquigraph homebrew/php/php71-amqp livestreamer homebrew/php/php71-apcu luaradio homebrew/php/php71-ast m-cli homebrew/php/php71-blitz micro homebrew/php/php71-ds minio homebrew/php/php71-ev minio-mc homebrew/php/php71-event mpage homebrew/php/php71-geoip nats-streaming-server homebrew/php/php71-geos opencsg homebrew/php/php71-gmagick openssl@1.1 homebrew/php/php71-gmp osc homebrew/php/php71-hprose osm-gps-map homebrew/php/php71-imagick paket homebrew/php/php71-intl pdftoedn homebrew/php/php71-libsodium percol homebrew/php/php71-lz4 presto homebrew/php/php71-lzf pybind11 homebrew/php/php71-mailparse rancher-cli homebrew/php/php71-maxminddb rclone homebrew/php/php71-mcrypt shyaml homebrew/php/php71-mecab sslsplit homebrew/php/php71-mongodb stout homebrew/php/php71-mustache tbox homebrew/php/php71-oauth timewarrior homebrew/php/php71-opcache tldr homebrew/php/php71-pcntl todolist homebrew/php/php71-pdo-dblib ubertooth homebrew/php/php71-pdo-pgsql vaulted homebrew/php/php71-pspell wego homebrew/php/php71-redis wireguard-tools homebrew/php/php71-ref xcenv homebrew/php/php71-snmp zsh-git-prompt homebrew/php/php71-solr zstd homebrew/php/php71-stats ==> Updated Formulae abcm2ps iso-codes abduco ispc abi-compliance-checker jbig2enc ace jboss-forge acmetool jenkins activemq jetty afflib jetty-runner afl-fuzz jfrog-cli-go aha jlog aide jmxtrans allegro joe amap jpeg-turbo amazon-ecs-cli jpegoptim ammonite-repl jq android-ndk jruby android-platform-tools jsdoc3 ansible json-fortran ansible-cmdb jsoncpp ansiweather jsonnet antigen jsonschema2pojo antlr juju apache-drill jvgrep apache-flink kafka apache-spark kapacitor apktool kerl app-engine-go-32 keybase app-engine-go-64 keychain app-engine-java khal app-engine-python khard appscale-tools kitchen-sync apr knot apr-util kobalt arangodb konoha argon2 kore argus-clients kotlin aria2 kpcli arping kubernetes-cli artifactory kyua asciidoc languagetool asciinema lastpass-cli asciinema2gif latexml assh launch4j assimp launch_socket_server augeas ldc aurora-cli le autoconf-archive ledger autoenv leiningen autojump lensfun avro-c leptonica avro-cpp leveldb avro-tools libassuan awf libatomic_ops aws-elasticbeanstalk libbladerf aws-sdk-cpp libbluray aws-shell libbson awscli libcapn azure-cli libcouchbase b2-tools libdap bacula-fd libdrawtext bagit libebml basex libflowmanager bash libfreenect bash-preexec libftdi bazel libgcrypt bdw-gc libgetdata bee libgit2-glib bfg libgpg-error bigloo libgraphqlparser bind libgsf binutils libidn bitrise libiodbc blackbox libiscsi bmon libjson-rpc-cpp boost libksba boost-bcp libmatroska boost-python libmicrohttpd botan libmill brew-gem libmtp brotli libnfs bsdconv libosinfo buku libphonenumber byacc libpng ✔ caddy libpointing caf libprotoident cake libressl calabash libscrypt carina libsodium carthage libsoundio cask libspectre casperjs libspiro cassandra libstrophe castxml libswiften cattle libtasn1 cayley libtess2 ccache libtiff ✔ ccextractor libtool cconv libupnp cdk libvirt cereal libvpx ceylon libxmp cfengine libxmp-lite cfr-decompiler libxslt cgal links cgrep liquibase chaiscript liquidprompt charm little-cms2 cheat llnode checkstyle llvm chisel lmdb chromedriver lnav citus logentries clang-format logstalgia clhep logstash cli53 logtalk clipper lua ✔ cloc luajit clog luvit cmake lynis cmocka lzlib codequery macosvpn cogl macvim collectd mahout commandbox mailhog compcert makensis conan makepkg concurrencykit mal4s consul mapnik convox mariadb coq mas corectl mawk coturn mbedtls couchdb mbelib couchdb-lucene mdp cowsay media-info cppcheck mediaconch creduce menhir cromwell mercurial crosstool-ng mergepbx cryptol meson cryptopp mesos crystal-lang metabase csfml metaproxy ctunnel mg cucumber-cpp mg3a curl micropython darcs mighttpd2 darkice miller dasht minisign datetime-fortran mkvtoolnix datomic mldonkey davix mobile-shell davmail monetdb ddar mongo-c deheader mongodb deis mongoose deisctl monkeysphere deja-gnu mono dependency-check moreutils depqbf mosquitto dieharder mozjpeg diff-pdf mpc diff-so-fancy mpd digdag mpg123 direnv mpich dirmngr mpv dirt msgpack ditaa mspdebug dmd mtools dnscrypt-proxy mtr dnscrypt-wrapper multimarkdown docker multirust docker-cloud mutt docker-compose mvtools docker-gen mycli docker-machine mypy docker-machine-driver-xhyve mysql ✔ docker-machine-parallels mysql-sandbox docker-swarm mysql-search-replace dockutil mysqltuner doctl mytop dovecot nanopb-generator doxygen nasm dpkg natalie dropbear ncdu dropbox-uploader ncmpc dtach ncmpcpp dub neo4j duplicity nethogs dvm newt dxpy nfdump dynamips nghttp2 dynamodb-local nifi eiffelstudio no-more-secrets eigen node ejabberd node-build elasticsearch nodeenv elixir nomad elixirscript noti elm notmuch emacs nsd emacs-clang-complete-async nspr embulk nss emojify ntl emp ntopng enca nuxeo entr nvm envchain nzbget epic5 oauth2_proxy erlang offlineimap es ola espeak oniguruma etcd ooniprobe evince open-babel exercism open-mpi exiftool opencc exploitdb openconnect fabio openh264 fabric openjpeg fastd opensaml fdk-aac-encoder opensc ffmpeg openshift-cli ffmpegthumbnailer openslide fftw openssl ✔ fibjs openvdb fio openvpn fish ophcrack flake8 opus flatbuffers opusfile flatcc orc fleetctl orientdb flex oscats flow osh flowgrind osm-pbf fluent-bit osm2pgsql flvmeta osquery flyway owfs folly oysttyer fon-flash-cli p7zip fontconfig ✔ pacapt ford packer format-udf pam_yubico fping pandoc fq pandoc-citeproc freeipmi pandoc-crossref freeling pango freetds pangomm freetype ✔ parallel frescobaldi pass fstar passenger fswatch passpie fwknop pcap_dnsproxy fwup pcb2gcode fzf pcre2 galen pdf2htmlex gammaray pdns gammu pdnsrec ganglia peco gauge peg gawk pegtl gcc percona-server gcovr percona-toolkit gd ✔ percona-xtrabackup gdal pgbadger gdb pgbouncer gdm pgcli geckodriver pgloader geoserver pgpdump get-flash-videos pgroonga gimme pgrouting git pidcat git-annex pig git-cola pillar git-credential-manager pius git-fixup pkg-config ✔ git-flow-avh pkgdiff git-fresh planck git-integration plantuml git-lfs platformio git-octopus plowshare git-plus plzip git-secret pmd git-secrets pngcrush git-standup poco git-test podofo git-town ponyc git-when-merged poppler gitbucket postgis giter8 postgresql ✔ gitg pre-commit gitlab-ci-multi-runner predictionio gjstest primesieve glade privoxy glbinding progress glew proguard glib prometheus glide proof-general glm protobuf global protobuf-c glyr protobuf-swift gnatsd psgrep gnu-apl psqlodbc gnu-complexity ptex gnu-smalltalk pup gnumeric purescript gnupg pushpin gnupg-pkcs11-scd pwntools gnupg2 pyenv gnuplot ✔ pyenv-virtualenv gnuradio pygobject gnutls pypy go python goaccess python3 godep qbs goffice qemu gollum qjackctl googler qscintilla2 gor rabbitmq gosu radare2 gource rainbarf govendor rakudo-star gpg-agent rancher-compose gpgme rapidjson gpm rbenv-binstubs gputils rbenv-gemset gqlplus re2 gradle reattach-to-user-namespace grails rebar graphicsmagick redis graphviz redpen grib-api remarshal gringo repo groonga reposurgeon groovyserv rethinkdb gsl rfcmarkup gssdp rgxg gssh rhino gst-editing-services riemann gst-libav riemann-client gst-plugins-bad rocksdb gst-plugins-base roswell gst-plugins-good rrdtool gst-plugins-ugly rswift gst-python rtags gst-validate rtv gstreamer ruby-build ✔ gtk+ rust gtk+3 s-search gtk-gnutella sagittarius-scheme gtk-vnc saltstack gtkextra sane-backends gtkmm sbcl gucharmap sbt guile scour gupnp scriptcs gupnp-av sdb gupnp-tools sdcc gvp sdcv gx seexpr gx-go selenium-server-standalone h2o ser2net hadolint serf hadoop sfcgal haproxy sfml harfbuzz shadowsocks-libev haskell-stack shairport-sync hbase shared-mime-info heroku shc highlight shibboleth-sp highlighting-kate shpotify hive siege homebank signify-osx homebrew/dupes/diffutils sile homebrew/dupes/ed simple-tiles homebrew/dupes/file-formula sip homebrew/dupes/lapack sjk homebrew/dupes/make skinny homebrew/dupes/nano slackcat homebrew/dupes/ncurses sleuthkit homebrew/dupes/openssh slimerjs homebrew/dupes/screen slowhttptest homebrew/dupes/tcl-tk slurm homebrew/php/adminer smali homebrew/php/behat smartmontools homebrew/php/box smlnj homebrew/php/brew-php-switcher sngrep homebrew/php/codeception snort homebrew/php/composer ✔ solr homebrew/php/drush sonar-runner homebrew/php/libsphinxclient sops homebrew/php/n98-magerun2 source-highlight homebrew/php/phan sphinx homebrew/php/php-code-sniffer sphinx-doc homebrew/php/php-cs-fixer spring-loaded homebrew/php/php53 sqlite homebrew/php/php53-couchbase sqlite-analyzer homebrew/php/php53-geoip sqlmap homebrew/php/php53-hprose squid homebrew/php/php53-http ssh-copy-id homebrew/php/php53-imagick sshguard homebrew/php/php53-libsodium sshuttle homebrew/php/php53-maxminddb stormssh homebrew/php/php53-parsekit strongswan homebrew/php/php53-raphf stunnel homebrew/php/php53-solr subliminal homebrew/php/php53-swoole supersonic homebrew/php/php54 supervisor homebrew/php/php54-couchbase svtplay-dl homebrew/php/php54-ev swagger-codegen homebrew/php/php54-geoip swiftgen homebrew/php/php54-hprose swiftlint homebrew/php/php54-imagick syncthing homebrew/php/php54-libsodium syncthing-inotify homebrew/php/php54-maxminddb sysdig homebrew/php/php54-mongodb szl homebrew/php/php54-raphf tailor homebrew/php/php54-solr takt homebrew/php/php54-swoole tarantool homebrew/php/php54-xdebug tbb homebrew/php/php55-couchbase tcpkali homebrew/php/php55-ev tcpreplay homebrew/php/php55-geoip telegraf homebrew/php/php55-hprose terraform homebrew/php/php55-imagick tesseract homebrew/php/php55-libsodium texinfo homebrew/php/php55-maxminddb texmath homebrew/php/php55-mongodb tgui homebrew/php/php55-phalcon the_platinum_searcher homebrew/php/php55-solr thefuck homebrew/php/php55-swoole tig homebrew/php/php55-xdebug tile38 homebrew/php/php56 ✔ tinyxml2 homebrew/php/php56-couchbase tippecanoe homebrew/php/php56-ev tmate homebrew/php/php56-geoip tmux-mem-cpu-load homebrew/php/php56-grpc tomcat homebrew/php/php56-hprose tomcat-native homebrew/php/php56-imagick tor homebrew/php/php56-libsodium trafficserver homebrew/php/php56-maxminddb transcrypt homebrew/php/php56-mongodb translate-toolkit homebrew/php/php56-phalcon tutum homebrew/php/php56-solr uchardet homebrew/php/php56-swoole uhd homebrew/php/php56-xdebug unbound homebrew/php/php70 ✔ unison homebrew/php/php70-ev unrar homebrew/php/php70-gmp upscaledb homebrew/php/php70-hprose urweb homebrew/php/php70-imagick utf8proc homebrew/php/php70-intl uwsgi homebrew/php/php70-libsodium v homebrew/php/php70-mcrypt valgrind homebrew/php/php70-mongodb vapoursynth homebrew/php/php70-opcache varnish homebrew/php/php70-pcntl vault homebrew/php/php70-pdo-dblib vdirsyncer homebrew/php/php70-pdo-pgsql vegeta homebrew/php/php70-pspell vert.x homebrew/php/php70-redis vifm homebrew/php/php70-snmp vim homebrew/php/php70-swoole virtuoso homebrew/php/php70-tidy vmtouch homebrew/php/php70-xdebug vnstat homebrew/php/php71 vnu homebrew/php/phpab voldemort homebrew/php/phpdocumentor voms homebrew/php/phploc vowpal-wabbit homebrew/php/phpmyadmin vultr homebrew/php/phpunit wakatime-cli homebrew/php/symfony-installer wallpaper homebrew/php/terminus wartremover homebrew/php/wp-cli watch homebrew/versions/bash-completion2 watchman homebrew/versions/cassandra22 weboob homebrew/versions/gcc5 webp ✔ homebrew/versions/gcc6 whatmp3 homebrew/versions/glfw3 winetricks homebrew/versions/gnupg21 wireshark homebrew/versions/hdf4 wolfssl homebrew/versions/jenkins-lts wrangler homebrew/versions/libmongoclient-legacy wxmac homebrew/versions/mariadb100 x264 homebrew/versions/mysql56 x265 homebrew/versions/node4-lts xdelta homebrew/versions/openssl101 xerces-c homebrew/versions/postgresql93 xmake homebrew/versions/postgresql94 xml-tooling-c homebrew/versions/rebar3 xmp honcho xonsh hr xorriso htmlcxx xplanetfx htop xxhash http-parser yadm httpie yank httping yara hub yaws hydra yaz hyperscan yle-dl ibex you-get idris youtube-dl imagemagick zbackup imapfilter zero-install infer zeromq influxdb zimg innotop zinc inspircd zpaq ios-deploy zplug ✔ ios-webkit-debug-proxy zsh-autosuggestions iperf3 zsh-completions ipfs zshdb ircd-hybrid zurl irssi ==> Renamed Formulae commonmark -> cmark geode -> apache-geode homebrew/versions/zeromq405 -> homebrew/versions/zeromq40 racket -> minimal-racket sonar -> sonarqube ==> Deleted Formulae apt-cacher-ng homebrew/versions/valgrind36 avidemux horndis box2d icmake caskroom/cask/brew-cask idcomments cfitsio iodine clang-omp jing class-dump kdiff3 curaengine kjell dircproxy kubernetes-helm disco lastfmlib fugu lftp geany libdbusmenu-qt geocouch libiomp gimp luyten git-stree openlitespeed homebrew/php/php53-judy orpie homebrew/php/php54-judy osxfuse homebrew/php/php55-judy peervpn homebrew/php/php56-judy pgtap homebrew/versions/apache-spark141 pyqwt homebrew/versions/docker110 quassel homebrew/versions/elasticsearch22 rbenv-readline homebrew/versions/erlang-r16 rfcdiff homebrew/versions/erlang-r17 rsense homebrew/versions/grails13 samba homebrew/versions/grails20 shrewsoft-vpn-client homebrew/versions/grails21 slony homebrew/versions/grails22 sqlitebrowser homebrew/versions/grails223 sqsh homebrew/versions/grails224 tuntap homebrew/versions/grails23 txt2man homebrew/versions/gsl114 ucspi-tools homebrew/versions/logstash22 vpnc homebrew/versions/openjpeg21 yap homebrew/versions/solr4 ==> Migrating HOMEBREW_REPOSITORY (please wait)... ==> Migrated HOMEBREW_REPOSITORY to /usr/local/Homebrew! Homebrew no longer needs to have ownership of /usr/local. If you wish you can return /usr/local to its default ownership with: sudo chown root:wheel /usr/local ==> Installing dependencies for imagemagick: libtool, xz, libpng, libtiff, freetype ==> Installing imagemagick dependency: libtool ==> Downloading https://homebrew.bintray.com/bottles/libtool-2.4.6_1.el_capitan.bottle.tar.gz ######################################################################## 100.0% ==> Pouring libtool-2.4.6_1.el_capitan.bottle.tar.gz ==> Caveats In order to prevent conflicts with Apple's own libtool we have prepended a "g" so, you have instead: glibtool and glibtoolize. ==> Summary 🍺 /usr/local/Cellar/libtool/2.4.6_1: 70 files, 3.7M ==> Installing imagemagick dependency: xz ==> Downloading https://homebrew.bintray.com/bottles/xz-5.2.2.el_capitan.bottle.tar.gz ######################################################################## 100.0% ==> Pouring xz-5.2.2.el_capitan.bottle.tar.gz 🍺 /usr/local/Cellar/xz/5.2.2: 91 files, 1.4M ==> Installing imagemagick dependency: libpng ==> Downloading https://homebrew.bintray.com/bottles/libpng-1.6.25.el_capitan.bottle.tar.gz ######################################################################## 100.0% ==> Pouring libpng-1.6.25.el_capitan.bottle.tar.gz 🍺 /usr/local/Cellar/libpng/1.6.25: 25 files, 1.2M ==> Installing imagemagick dependency: libtiff ==> Downloading https://homebrew.bintray.com/bottles/libtiff-4.0.6_2.el_capitan.bottle.tar.gz ######################################################################## 100.0% ==> Pouring libtiff-4.0.6_2.el_capitan.bottle.tar.gz 🍺 /usr/local/Cellar/libtiff/4.0.6_2: 261 files, 3.4M ==> Installing imagemagick dependency: freetype ==> Downloading https://homebrew.bintray.com/bottles/freetype-2.7.el_capitan.bottle.tar.gz ######################################################################## 100.0% ==> Pouring freetype-2.7.el_capitan.bottle.tar.gz 🍺 /usr/local/Cellar/freetype/2.7: 61 files, 2.4M ==> Installing imagemagick ==> Downloading https://homebrew.bintray.com/bottles/imagemagick-6.9.5-10.el_capitan.bottle.tar.gz ######################################################################## 100.0% ==> Pouring imagemagick-6.9.5-10.el_capitan.bottle.tar.gz 🍺 /usr/local/Cellar/imagemagick/6.9.5-10: 1,464 files, 22.5M ```

rmagickが要求しているImageMagickのバージョンは6.4.9以上 https://github.com/rmagick/rmagick#prerequisites

ImageMagick Version 6.4.9 or later. You can get ImageMagick from www.imagemagick.org.

home brewでインストールしたImageMagickのバージョンを確認

$ convert -version
Version: ImageMagick 6.9.5-10 Q16 x86_64 2016-09-21 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2016 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Features: Cipher DPC Modules
Delegates (built-in): bzlib freetype jng jpeg ltdl lzma png tiff xml zlib
ogidow commented 7 years ago

続いて、rmagickをインストール

ogidow commented 7 years ago

Gemfilegem 'rmagick'を記述してbundle install

$ bundle install
Fetching gem metadata from https://rubygems.org/
Fetching version metadata from https://rubygems.org/
Resolving dependencies...
Installing rmagick 2.16.0 with native extensions

Errno::EACCES: Permission denied @ dir_s_mkdir - /Users/ogidow/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/extensions/x86_64-darwin-15/2.2.0-static/rmagick-2.16.0
Using bundler 1.12.5
An error occurred while installing rmagick (2.16.0), and Bundler cannot continue.
Make sure that `gem install rmagick -v '2.16.0'` succeeds before bundling.

権限がない模様

ls -l /Users/ogidow/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/extensions/x86_64-darwin-15/2.2.0-static
drwxr-xr-x  5 ogidow  staff  170  8 11 20:09 bcrypt-3.1.11
drwxr-xr-x  6 root    staff  204  7 16 21:47 bcrypt-3.1.7
drwxr-xr-x  4 ogidow  staff  136  7 17 19:39 binding_of_caller-0.7.2
drwxr-xr-x  4 root    staff  136  7 16 21:50 binding_of_caller-0.7.3.pre1
drwxr-xr-x  5 root    staff  170  7 16 21:50 byebug-3.4.0
drwxr-xr-x  5 ogidow  staff  170  7 17 19:38 byebug-8.2.5
drwxr-xr-x  5 ogidow  staff  170  7 31 15:58 byebug-9.0.5
drwxr-xr-x  5 root    staff  170  7 16 21:47 debug_inspector-0.0.2
drwxr-xr-x  6 root    staff  204  7 16 21:47 ffi-1.9.14
drwxr-xr-x  7 ogidow  staff  238  7 26 23:32 hpricot-0.8.6
drwxr-xr-x  5 root    staff  170  7 16 21:46 json-1.8.3
drwxr-xr-x  6 ogidow  staff  204  7 17 19:20 nio4r-1.2.1
drwxr-xr-x  6 root    staff  204  7 16 21:50 nokogiri-1.6.7.2
drwxr-xr-x  6 ogidow  staff  204  7 31 16:00 nokogiri-1.6.8
drwxr-xr-x  6 ogidow  staff  204  7 17 19:42 nokogumbo-1.4.7
drwxr-xr-x  6 ogidow  staff  204  7 17 19:39 pg-0.18.4
drwxr-xr-x  6 ogidow  staff  204  7 31 15:58 puma-3.4.0
drwxr-xr-x  6 ogidow  staff  204  8 14 14:39 puma-3.6.0
drwxr-xr-x  6 ogidow  staff  204  7 17 19:39 sqlite3-1.3.11
drwxr-xr-x  6 root    staff  204  7 16 21:48 sqlite3-1.3.9
drwxr-xr-x  6 ogidow  staff  204  7 17 19:39 therubyracer-0.12.2
drwxr-xr-x  5 ogidow  staff  170  7 17 19:20 websocket-driver-0.6.4

所有者にrootが混ざってた。

ogidow commented 7 years ago

環境がおかしいので別バージョンのrubyを入れてみる

ogidow commented 7 years ago

rbenvでruby2.3.1を入れる

rbenv install  2.3.1
Downloading ruby-2.3.1.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.bz2
Installing ruby-2.3.1...
Installed ruby-2.3.1 to /Users/ogidow/.rbenv/versions/2.3.1

rubyバージョンの切り替え

$ rbenv global 2.3.1
$ rbenv versions
  system
  2.2.3
* 2.3.1 (set by /Users/ogidow/.rbenv/version)
$ rbenv rehash
$ ruby -v
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]
ogidow commented 7 years ago

bundler をインストール

$ gem install bundler
Fetching: bundler-1.13.1.gem (100%)
Successfully installed bundler-1.13.1
Parsing documentation for bundler-1.13.1
Installing ri documentation for bundler-1.13.1
Done installing documentation for bundler after 5 seconds
1 gem installed

もう一度 ImageMagickをインストール

$ bundle install
Fetching gem metadata from https://rubygems.org/.
Fetching version metadata from https://rubygems.org/
Resolving dependencies...
Installing rmagick 2.16.0 with native extensions
Using bundler 1.13.1
Bundle complete! 1 Gemfile dependency, 2 gems now installed.
Use `bundle show [gemname]` to see where a bundled gem is installed.
ogidow commented 7 years ago

USAGE的なやつが不足してる感じする。 https://github.com/rmagick/rmagick#using-rmagick

もうちょい簡単なサンプル載っけても良いかも

ogidow commented 7 years ago

gemをインストールした時にインストールできたかの確認みたいなの欲しい気がする。 READMEではなくgituhub.ioの方には記述されている 以下みたいな感じ。

$ ruby -rRMagick -e "puts Magick::Long_version"
This is RMagick 2.16.0 ($Date: 2009/12/20 02:33:33 $) Copyright (C) 2009 by Timothy P. Hunter
Built with ImageMagick 6.9.5-10 Q16 x86_64 2016-09-21 http://www.imagemagick.org
Built for ruby 2.3.1
Web page: http://rmagick.rubyforge.org
Email: rmagick@rubyforge.org
ogidow commented 7 years ago

exmaple/の一番上にあったサンプルを動かしてみる https://github.com/rmagick/rmagick/tree/develop/examples

エラーとかはでなかったが出力した.miffファイルがが開けなかった

ogidow commented 7 years ago

github.ioの方のHow to use RMagickの一番上に記載されているサンプルが動かなった

$ ruby test.rb
test.rb:5:in `display': delegate library support not built-in `./cat.jpg' (X11) @ error/display.c/DisplayImages/16054 (Magick::ImageMagickError)
        from test.rb:5:in `<main>'

displayメソッドがビルトインでサポートしてないっぽい

ogidow commented 7 years ago

READMEのInstalling RMagickのインストール後にバージョンを確認する手順がないのが不親切に感じたが、rmagick自体がコマンドを提供するわけではないのでバージョンを確認する手順がない方が自然なのではないかということになった。 また、他のプロジェクトでもバージョンを確認する手順は記載されていないものが多かった。 例: https://github.com/capistrano/capistrano https://github.com/rspec/rspec

ogidow commented 7 years ago

報告のアイディア

ogidow commented 7 years ago

RMagickを使う人はImage Magickに精通している人もいるし、Image Magickを全くわからない人も多くいる気がするのでリンクを貼るならばexample/とHow to use RMagickのどちらも貼ったほうが良さそう。

自分の場合は、Image Magickは全くわからないので、詳しい解説があったほうが嬉しい。

ogidow commented 7 years ago

Isuueの下書き(日本語)

初心者のためにUsing RMagickHow to use RMagickへのリンクが欲しい

初心者のためにUsing RMagickHow to use RMagickへのリンクが欲しい

READMEに従ってRMagickをインストールしたが、いざ使ってみようとするとUsing RMagick

require 'rmagick'

しか書かれていなくて途方にくれた。

How to use RMagickの方に詳しい使い方が解説されているのでそこへの誘導があれば、スムーズにRMagickを使うことができる

ogidow commented 7 years ago

Isuueの構成

初心者のためにUsing RMagickにHow to use RMagickへのリンクが欲しい

概要

初心者のためにUsing RMagickにHow to use RMagickへのリンクが欲しい

step

  1. READMEに従ってRMagickをインストール
  2. Using RMagickを参考にRMagickを使用してみる

期待する結果

実際の結果

ogidow commented 7 years ago

PRの構成

初心者のためにUsing RMagickにHow to use RMagickへのリンクが欲しい

初心者のためにUsing RMagickにHow to use RMagickへのリンクが欲しい。 Using RMagickを見たがrequire 'rmagick'しか記載されておらず、RMagickの使い方を詳しく知ることができない。

ogidow commented 7 years ago

PR(英語)

add documentation link to Using RMagick section for beginner

add documentation link to Using RMagick section for beginner. I look Using RMagick section, but it mentioned require 'rmagick'. so i colud not know that how to use RMagick

ogidow commented 7 years ago

初めてのプルリクエスト https://github.com/rmagick/rmagick/pull/258