LeopardでのRubyGems
LeopardでRubyGemsを使おうとすると、sourcesがロードできないと怒られる。
$ sudo gem install mysql /opt/local/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require': no such file to load -- sources (LoadError) from /opt/local/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:27:in `require' from /opt/local/lib/ruby/vendor_ruby/1.8/rubygems/source_info_cache.rb:6 from /opt/local/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require' from /opt/local/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:27:in `require' from /opt/local/lib/ruby/vendor_ruby/1.8/rubygems/remote_installer.rb:12 from /opt/local/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require' from /opt/local/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:27:in `require' from /opt/local/lib/ruby/vendor_ruby/1.8/rubygems.rb:112:in `manage_gems' from /opt/local/bin/gem:10
これは、rootになるとGEM_PATHが空になってしまい、sourcesが探せなくなるのが原因。
次のようにすれば解決する。もっと賢い方法があったら教えてください。
$ sudo -s # export GEM_PATH=/opt/local/lib/ruby/gems # gem install mysql
Proxy CGI
30分プログラム、その238。Proxy CGI。リクエストを肩代りするやつ。
昔(id:mzp:20060521)、似たやつを作ったけど、今回は画像ファイルなどにも対応した。
画像ファイルへのアクセス時に、Refererを殺したかったので作ってみた。
使い方
http://howdyworld.org/junk/referer.cgi?u=http://howdyworld.org/のようにアクセスすればいい。
ソースコード
#! /opt/local/bin/ruby -w # -*- mode:ruby; coding:utf-8 -*- # # proxy.rb - web proxy # # Copyright(C) 2008 by mzp # Author: MIZUNO Hiroki / mzpppp at gmail dot com # http://howdyworld.org # # Timestamp: 2008/02/07 23:45:29 # # This program is free software; you can redistribute it and/or # modify it under MIT Lincence. # require 'open-uri' require 'cgi' cgi = CGI.new open(cgi['u']){|io| io.meta.each{|key,value| puts "#{key}: #{value}" } puts '' print io.read }