カテゴリー : 2013年 3月

[GitHub] hub コマンドを使って PullRequest をもっと簡単に

GitHub で PullRequest を送る場合に、ブラウザからも出来ますが、 hub コマンドを使えばもっとカンタンにできます。

defunkt/hub · GitHub はてなブックマーク - defunkt/hub · GitHub

まず、hub をインストールします。

brew install hub

使い方は、下記のような感じ。

hub pull-request
hub pull-request -h myrepo:currentbranch

いちいちブラウザ開いて、プルリクエスト送らないで良いのはかなり便利です。

[参考]

GitHubユーザーのためのhubコマンド #git #AdventCalendar – Qiita はてなブックマーク - GitHubユーザーのためのhubコマンド #git #AdventCalendar - Qiita

hub コマンドで github から fork して pull request をさくっと – #生存戦略 、それは – subtech はてなブックマーク - hub コマンドで github から fork して pull request をさくっと - #生存戦略 、それは - subtech

[Ruby on Rails] PDFKit が NoMethodError (undefined method `chomp’ for nil:NilClass): というエラーで動かない

Ruby on Rails で PDFKit を使ってまして、CentOS で動かないという状況に陥りました。

NoMethodError (undefined method `chomp' for nil:NilClass):
  pdfkit (0.5.3) lib/pdfkit/configuration.rb:20:in `wkhtmltopdf'
  pdfkit (0.5.3) lib/pdfkit/pdfkit.rb:31:in `initialize'
  pdfkit (0.5.3) lib/pdfkit/middleware.rb:21:in `new'
  pdfkit (0.5.3) lib/pdfkit/middleware.rb:21:in `call'
  warden (1.2.1) lib/warden/manager.rb:35:in `block in call'
  warden (1.2.1) lib/warden/manager.rb:34:in `catch'
  warden (1.2.1) lib/warden/manager.rb:34:in `call'
  actionpack (3.2.13) lib/action_dispatch/middleware/best_standards_support.rb:17:in `call'

下記を参考に直してみても、RuntimeError pdfkit (0.5.3) lib/pdfkit/pdfkit.rb:73:in `to_pdf’ というエラーが出る。

NoMethodError · Issue #82 · pdfkit/pdfkit

原因は2つあって、1つ目はApacheにBasic認証を設定していたこと。

2つ目は /usr/local/bin へ path を通すことで解決しました。

path を通す方法は下記のとおりです。

まず、 /usr/local/bin/ruby_wrapper に下記の内容を記載して保存します。

#!/bin/sh
export PATH="$PATH:/usr/local/bin" 
exec "/usr/local/bin/ruby" "$@"

次に、Apache の httpd.conf で Passenger で使う Ruby の Path を ruby_wrapper に変更します。

PassengerRuby /usr/local/bin/ruby_wrapper

以上です。

[Ruby on Rails] ActionDispatch::Cookies::CookieOverflow error

Ruby on Rails で flash に大量の文字列を詰め込むと ActionDispatch::Cookies::CookieOverflow error が発生しました。

Raised when storing more than 4K of session data.

ActionDispatch::Cookies::CookieOverflow

解決方法は、セッションを Cookie ではなく ActiveRecord や Redis などで置き換えることです。

Ruby on Rails ActionDispatch::Cookies::CookieOverflow error – WILT

[Linux] ImageMagick をソースファイルからインストールする手順

CentOS 6 に ImageMagick をソースファイルからインストールする手順をメモ。

ImageMagick を yum でサクッとインストールしたい場合は、こちらを参考にして下さい。

[CentOS] ImageMagick を yum でインストール | CodeNote.net

cd /usr/local/src/
wget http://www.imagemagick.org/download/ImageMagick.tar.gz
tar xvfz ImageMagick.tar.gz
 
cd ImageMagick-6.8.4-1/
./configure
make
make install

ImageMagick のインストール手順は公式サイトを参考にしました。

ImageMagick: Install from Source

ImageMagick のソースファイルは下記からダウンロードします。

ImageMagick: Index of /download

[参考]

CentOSに最新版ImageMagickをインストールする #CentOS #ImageMagick – Qiita

CentOS に ImageMagick, RMagick のインストール | akkunchoi@github

[CentOS] ImageMagick を yum でインストール

CentOS 6.3 に ImageMagick を yum でインストールしました。

yum -y install libjpeg-devel libpng-devel
yum -y install ImageMagick ImageMagick-devel

identify と convert のバージョンとPathを確認して、インストールされたことを確認します。

# identify -version
Version: ImageMagick 6.5.4-7 2012-05-07 Q16 OpenMP http://www.imagemagick.org
Copyright: Copyright (C) 1999-2009 ImageMagick Studio LLC
 
# which identify
/usr/bin/identify
# convert -version
Version: ImageMagick 6.5.4-7 2012-05-07 Q16 OpenMP http://www.imagemagick.org
Copyright: Copyright (C) 1999-2009 ImageMagick Studio LLC
 
# which convert
/usr/bin/convert

CentOS 5 系とかだとソースファイルからインストールする方が良いみたいです。