apt-cyg install git gcc-core gcc-g++ make zlib-devel curl \ autoconf libiconv rsync patch unzip openssh openssl-devel \ libxml2-devel libxslt-devel libffi-devel libgdbm-devel
git clone git://github.com/sstephenson/rbenv.git ~/.rbenv git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc echo 'eval "$(rbenv init -)"' >> ~/.zshrc
rbenv install 2.1.1 rbenv global 2.1.1 rbenv rehash
gemインストール時に毎度rehashを入力しなくてすむようにする
gem install rbenv-rehash
便利なgem
gem install bundler
find ~ -name '*.so' > /usr/bin/rebase_so.lst
/bin/rebaseall -T /bin/rebase_so.lst -v exit
Cygwin の setup.exe から以下のプログラムをインストールする。
ダウンロード のミラーサイトからソースを取得して展開する。ruby-1.9.3-p0.tar.gz を例にとると展開はつぎのようにする。
$ tar zxf ruby-1.9.3-p0.tar.gz
cd ruby-1.9.3-p0 ./configure --enable-shared make make install
path に以下の文字列を追加する。
;c:\cygwin\usr\sbin;c:\cygwin\usr\local\bin;c:\cygwin\sbin;c:\cygwin\bin
RVM: Ruby Version Manager - RVM Ruby Version Manager - Documentation を使う
hpricot を使いながら、全角文字間にある半角空白を削除する。hpricot を導入するには RubyForge: RubyGems: ファイルリスト から rubygems をダウンロードして以下のようにコマンドを入力する。ここでは仮に rubygems-1.8.12.tgz を入手することとする。
$ tar -zxvf rubygems-1.8.12.tgz $ cd rubygems-1.8.12 $ ruby setup.rb $ gem install hpricot
上記の ruby 1.9.* の導入方法を参照すること。
以下のスクリプトを用いれば、p と para 要素の不要な空白を取り除く。
#! ruby # -*- Encoding: utf-8 -*- # utf-8 で保存しないと置換に失敗する # ruby 1.9.3p0 (2011-10-30 revision 33570) # invalid byte sequence in Windows-31J を回避する Encoding.default_external="utf-8" require 'rubygems' require 'hpricot' if ("-o" == ARGV[0].to_s) filename = ARGV[1].to_s overwrite = 1 else filename = ARGV[0].to_s overwrite = nil end doc = Hpricot(File.open(filename).read) ## for html and docbook (doc/:p + doc/:para ).each do |elm| # ascii 文字以外の間にある半角空白一つを取り除く elm.inner_html = elm.inner_html.gsub(/(?<=[^\x00-\x7f]) (?=[^\x00-\x7f])/, '') # 要素内の前後の空白を削除する elm.inner_html = elm.inner_html.gsub(/\A\s+/, '').gsub(/\s+\Z/, '') end if (overwrite == nil) print doc.to_html else foo = File.open(filename,'w') foo.print doc.to_html foo.close end
上記のソースを remove_excessive_spaces_in_para.rb というファイル名で保存した場合、 つぎのようにコマンドを入力する。
filename について不要な空白を取り除き、その結果を標準出力に出力する
filename について不要な空白を取り除き、その結果を filename に上書きする
#! ruby # -*- Encoding: utf-8 -*- # utf-8 で保存しないと置換に失敗する # ruby 1.9.3p0 (2011-10-30 revision 33570) # invalid byte sequence in Windows-31J を回避する Encoding.default_external="utf-8" require 'rubygems' require 'hpricot' if ("-o" == ARGV[0].to_s) filename = ARGV[1].to_s overwrite = 1 else filename = ARGV[0].to_s overwrite = nil end doc = Hpricot(File.open(filename).read) ## for html and docbook (doc/:p + doc/:para \ + doc/:h1 + doc/:h2 + doc/:h3 + doc/:chapter + doc/:title + doc/:section \ + doc/:li + doc/:listitem ).each do |elm| # ascii 文字以外の間にある半角空白一つを取り除く elm.inner_html = elm.inner_html.gsub(/(?<=[^\x00-\x7f]) (?=[^\x00-\x7f])/, '') # 要素内の前後の空白を削除する elm.inner_html = elm.inner_html.gsub(/\A\s+/, '').gsub(/\s+\Z/, '') end if (overwrite == nil) print doc.to_html else foo = File.open(filename,'w') foo.print doc.to_html foo.close end
filename について不要な空白を取り除き、その結果を標準出力に出力する
filename について不要な空白を取り除き、その結果を filename に上書きする
コメントにもあるとおり、git へのパスを追加すること。eventmachine.gemspec で git が使われるために、git が見つからなければ eventmachine のインストールに失敗する。msys2を使っているならばこのように書けば良い。
set path=%path%;C:\msys64\usr\bin
RubyGemsを更新しておくこと。