Rails Install windows2000
ws2_32.dllのwindows2000の仕様上、gem installがきかないので、手動インストールメモ
関連ファイルは http://rubygems.org よりDL。
まぁ初めてなので必要なライブラリを1から手動で入れてみるのもいいかと。
d:\dev\ruby>gem install N:\RubyOnRails\rails-3.2.3.gem --local
ERROR: While executing gem ... (Gem::DependencyError)
Unable to resolve dependencies: rails requires activesupport (= 3.2.3), actionpack (= 3.2.3), activerecord (= 3.2.3), activeresource (= 3.2.3), actionmailer (= 3.2.3), railties (= 3.2.3), bundler (~> 1.0)
→ 以下が必要らしい
activesupport.gem 3.2.3
actionpack.gem 3.2.3
activerecord.gem 3.2.3
activeresource.gem 3.2.3
actionmailer.gem 3.2.3
railties.gem 3.2.3
bundler.gem 3.2.3
→ ぜんぶおっことして順番に。
d:\dev\ruby>gem install N:\RubyOnRails\activesupport-3.2.3.gem --local
ERROR: While executing gem ... (Gem::DependencyError)
Unable to resolve dependencies: activesupport requires i18n (~> 0.6), multi_json (~> 1.0)
→さらに依存かよー。
i18n.gem 0.6
multi_json.gem 1.0
→さてコマンドでインストール
プロシージャエントリポイント freeaddrinfoがダイナミックライブラリ WS2_32.dllからどうのこうの。
→KDW KDLInstで EzInstallフォルダはRubyのbin、EZKDレジストリにチェック、ws2_32.dllインストールボタンを押して簡易設定ボタンをぽち。
※この操作によりOSが起動しなくなったり、ブルースクリーン出るようになっても自己責任で。
→
gem install N:\RubyOnRails\multi_json-1.2.0.gem --local
gem install N:\RubyOnRails\i18n-0.6.0.gem --local
gem install N:\RubyOnRails\activesupport-3.2.3.gem --local
gem install N:\RubyOnRails\actionpack-3.2.3.gem --local
ERROR: While executing gem ... (Gem::DependencyError)
Unable to resolve dependencies: actionpack requires activemodel (= 3.2.3), rack-cache (~> 1.2), builder (~> 3.0.0), rack (~> 1.4.0), rack-test (~> 0.6.1), journey (~> 1.0.1), sprockets 2.7.0)
→
activemodel.gem 3.2.3
rack-cache.gem 1.2
builder.gem 3.0.0
rack.gem 1.4.0
rack-test.gem 0.6.1
journey.gem 1.0.1
sprockets.gem 2.7.0
→
gem install N:\RubyOnRails\builder-3.0.0.gem --local
gem install N:\RubyOnRails\activemodel-3.2.3.gem --local
gem install N:\RubyOnRails\rack-1.4.1.gem --local
gem install N:\RubyOnRails\rack-cache-1.2.gem --local
gem install N:\RubyOnRails\rack-test-0.6.1.gem --local
gem install N:\RubyOnRails\journey-1.0.3.gem --local
gem install N:\RubyOnRails\sprockets-2.4.0.gem --local
ERROR: While executing gem ... (Gem::DependencyError)
Unable to resolve dependencies: sprockets requires hike (~> 1.2), tilt (!= 1.3.0, ~> 1.1)
→
hike.gem 1.2
tilt.gem 1.3.0はダメで1.1ってことかな?
→とりあえずtiltは1.3.3でやってみる。OK
gem install N:\RubyOnRails\hike-1.2.1.gem --local
gem install N:\RubyOnRails\tilt-1.3.3.gem --local
gem install N:\RubyOnRails\sprockets-2.4.0.gem --local
→そして最初のリスト戻る、actionpackから。
gem install N:\RubyOnRails\actionpack-3.2.3.gem --local
ERROR: While executing gem ... (Gem::DependencyError)
Unable to resolve dependencies: actionpack requires sprockets (~> 2.1.2), erubis (~> 2.7.0)
まだいるのかよーw
→
erubis.gem 2.7.0
sprockets.gem 2.1.2 Σsprocketsってさっき2.4を入れたのだがバージョン戻すのか・・・?
→Σsprocketsってさっき2.4を入れたのだがバージョン戻すのか・・・?
そもそも2.7必要とかいわれてなかったから2.4いれたのに更にバージョン下げると?
gem install N:\RubyOnRails\erubis-2.7.0.gem --local
gem install N:\RubyOnRails\sprockets-2.1.2.gem --local
gem install N:\RubyOnRails\actionpack-3.2.3.gem --local
→
sprocketsは上書きされたのか。複数いれてもそれぞれ動くのかどっちだろう。binの下のはどっちもあるが。
気になったのでgemコマンドで確認する。
d:\dev\ruby>gem list sprockets
*** LOCAL GEMS ***
sprockets (2.4.0, 2.1.2)
2個入ってますね2個。とりあえず今は気にせず進めよう。
→
gem install N:\RubyOnRails\activerecord-3.2.3.gem --local
ERROR: While executing gem ... (Gem::DependencyError)
Unable to resolve dependencies: activerecord requires arel (~> 3.0.2), tzinfo (~> 0.3.29)
→
arel.gem 3.0.2
tzinfo.gem 0.3.29
→
gem install N:\RubyOnRails\arel-3.0.2.gem --local
gem install N:\RubyOnRails\tzinfo-0.3.33.gem --local
gem install N:\RubyOnRails\activerecord-3.2.3.gem --local
※activerecordのインストールはちょっと時間かかる(3~5分?)
gem install N:\RubyOnRails\activeresource-3.2.3.gem --local
gem install N:\RubyOnRails\actionmailer-3.2.3.gem --local
ERROR: While executing gem ... (Gem::DependencyError)
Unable to resolve dependencies: actionmailer requires mail (~> 2.4.4)
→
mail 2.4.4
mime-types 1.16
treetop 1.4.8
polyglot 0?
polyglot 0.3.1
→
gem install N:\RubyOnRails\polyglot-0.3.3.gem --local
gem install N:\RubyOnRails\treetop-1.4.10.gem --local
gem install N:\RubyOnRails\mail-2.4.4.gem --local
gem install N:\RubyOnRails\actionmailer-3.2.3.gem --local
gem install N:\RubyOnRails\railties-3.2.3.gem --local
ERROR: While executing gem ... (Gem::DependencyError)
Unable to resolve dependencies: railties requires thor (~> 0.14.6), rack-ssl (~> 1.3.2)
→
thor 0.14.6
rack-ssl 1.3.2
→
gem install N:\RubyOnRails\rack-ssl-1.3.2.gem --local
gem install N:\RubyOnRails\thor-0.14.6.gem --local
gem install N:\RubyOnRails\railties-3.2.3.gem --local
gem install N:\RubyOnRails\bundler-1.1.3.gem --local
→はーやっとおわった。ようやくメインのRails.gemがインストールできるというw
Linuxにyumがないとこんなかんじでライブラリ組みこまなくちゃならんのかなw
gem install N:\RubyOnRails\rails-3.2.3.gem --local
Successfully installed rails-3.2.3
1 gem installed
Installing ri documentation for rails-3.2.3...
file 'lib' not found
Installing RDoc documentation for rails-3.2.3...
file 'lib' not found
d:\dev\ruby>gem install N:\RubyOnRails\rails-3.2.3.gem --local --no-ri --no-rdoc
Successfully installed rails-3.2.3
1 gem installed
→
d:\dev\ruby>gem list
*** LOCAL GEMS ***
actionmailer (3.2.3)
actionpack (3.2.3)
activemodel (3.2.3)
activerecord (3.2.3)
activeresource (3.2.3)
activesupport (3.2.3)
arel (3.0.2)
bigdecimal (1.1.0)
builder (3.0.0)
bundler (1.1.3)
erubis (2.7.0)
hike (1.2.1)
i18n (0.6.0)
io-console (0.3)
journey (1.0.3)
json (1.5.4)
mail (2.4.4)
mime-types (1.18)
minitest (2.5.1)
multi_json (1.2.0)
polyglot (0.3.3)
rack (1.4.1)
rack-cache (1.2)
rack-ssl (1.3.2)
rack-test (0.6.1)
rails (3.2.3)
railties (3.2.3)
rake (0.9.2.2)
rdoc (3.9.4)
sprockets (2.4.0, 2.1.2)
thor (0.14.6)
tilt (1.3.3)
treetop (1.4.10)
→インストール後の動作確認
・プロジェクト作成
rails new foo --skip-bundle
・起動
ruby script\rails server
→色々ライブラリが無いといわれる。いちいちDLするのめんどいのでgemコマンドで入れていく。
gem install jquery-rails
gem install coffee-rails
gem install sqlite3
gem install sass-rails
gem install uglifier
そして動いた!
N:\workspace\eclipse-for-ruby\foo>ruby script\rails server
=> Booting WEBrick
=> Rails 3.2.3 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2012-04-10 23:59:19] INFO WEBrick 1.3.1
[2012-04-10 23:59:19] INFO ruby 1.9.3 (2012-02-16) [i386-mingw32]
[2012-04-10 23:59:19] INFO WEBrick::HTTPServer#start: pid=2104 port=3000
以上、長々と殴り書きメモ。自分用ですが、これから始める人の参考になれば。
なんと
せっかく手間かけて作ったブログだし、色々ネタをメモしていこうかな。
どうも苦手だね、ブログ書くのw
アクセスカウンタ
どこから来た人が見てるとか、今日のアクセス数はすごいとか統計はどうのとか全く興味がないので・・・。
仮設置はしてみたけど、Adblockな人はまずカウンタ読み込まないだろうし(自分も「あれ?画像でないだけど!?」とすこし戸惑ったけどADBCLOCKで消えてただけだったw)、なんともしっくりこないかんじ。
何故アクセスカウンタを設置してみようと思ったかというとたまたまブログランキングで自分のサイトが3000件中の400位?くらいの位置にきてるときがあったのが気になっただけだけども。
更新頻繁にしてるときはFC2にtrackback飛んでるだろうからたまたまアクセスが増えることもあるかと思うけど、そんなたいした事を書いてるわけでもないし、まだまだブロガーとしては質は良くないほうだと自認しているので、
やっぱ気にしないことにしようかな・・w
しばらくはカウンタ設置はしてみるけどそのうち撤去するかもしれません。
以上、どうでもいいこと。(一週間も更新しないとこからしてあれだし・・・w)
あくまで備忘録ですので。
時にはコンピュータとは全く関係の無い話、ゲームとかぱちすろとか音楽とかの話題を書く事もあるかもしれませんが、そんな話をネタに知識を共有できる仲間が増やせることができればこの上ない幸いです。
CSS position:absolute でie6mustdie(哀)
とくにXHTML1.0準拠で互換表示を許さないレイアウトを組んでいるときに感じます。
今日はレイアウトについてIE6を利用しながらもIE6に鉄槌を下したというお話。
結果から言いますと、
div#ie6mustdie {
height:auto;
position:absolute;
top:100px;
bottom:40px;
}
のようにしたところ、上と下の同時指定とか、左と右の同時指定とか、そんなことできっかよ。ぶぅ!とIE6に言われたわけで、IE8ならOKなわけです。残念残念。
嫌いキライ大っきらい!: 小技を利かせてheight:100%なレイアウト調整してるのに!
ie6mustdie.
おいおい、せっかく高さをCSSで階層指定の100%とかautoとか組み合わせてXB対策してるのにそこ突いたら身もふたもないぜ、と自分でも思っておりますが、互換表示などやりたくありませんし、こうしないとヘッダー、フッター領域を固定で確保しつつ、中央のメインコンテンツをブラウザサイズで可変した上でさらに内部をスクロール(ちゃんとスクロールバーを全部見せるように)させることが不可能なのです。
ヘッダー領域、フッター領域、メインコンテンツ全てにパーセント指定すればいけますけど見た目が良くないし、メインコンテンツには動的にコンテンツが入ったり出たりするのでレイアウト崩れが起きることは必至。
上限下限のパーティションを明確に区切るには position=absolute, top, bottom 指定が必須な気がします。
IE6のための処方箋を: 施せる方法があれば教えてください。
微妙にレイアウトをごまかしてIE6でも対応する方法ならいくらでもあるし、戴けないCSSプロパティを指定する方法もありますけど、ここは正攻法で解決できる策が見つかるまでは、やはり ie6mustdie しかないみたいです。
ハッピーになれるかもしれないテストコード
モックアップとhtml,cssソースは以下のような感じ。
IE6救済は可能だろうか。少なくともこのテストコードではIE6ではまともな描画は行いません。
画面のレイアウトと付き合っていくのはほんと、永遠のテーマかもしれない。
HTML5でCSS3な時代になると楽になるかもしれないけど、やはりHTML5というのはdevelopper側の都合なのだな、と思います。ブラウザを使う側のWEBクライアントはお客様ですもん。
CSS
/** style.css **/
@charset 'UTF-8';
* {
margin:0;
padding:0;
}
html {
height:100%;
}
body.layout-lunachat-liquid {
height:100%;
width:100%;
}
/* 固定ヘッダー */
div#container-header {
background-color: rgb(255, 187, 64);
height: 90px;
width: 100%;
position:absolute;
top:0px;
}
/* メインとその他のコンテンツ領域
* ここでとどめを刺すこととなる。
*/
div#container-content {
background-color: #cc8888;
overflow:auto;
height:auto;
position:absolute;
left:10px;
right:10px;
top:100px;
bottom:40px;
}
/* メイン */
div#content{
height:100%;
background-color:#ccccff;
margin:auto;
overflow:auto;
}
/* メインを邪魔しないその他のコンテンツ */
div#content-right{
height:100%;
width:200px;
background-color:#0f0;
float:right;
}
/* 固定フッター */
div#container-footer {
clear:both;
background-color: rgb(255, 187, 64);
height: 30px;
width: 100%;
position:absolute;
bottom:0px;
}
XHTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<meta http-equiv="Content-Script-Type" content="text/javascript"/>
<meta http-equiv="Content-Style-Type" content="text/css"/>
<meta name="generator" content="VIM - Vi IMproved version 7.2"/>
<link rel="stylesheet" type="text/css" href="style.css"/>
</head>
<body class="layout-lunachat-liquid">
<div id="container-header">
#container-header<br/>
<input type="button" value="サイドバーを隠す" onclick="javascript:document.getElementById('content-right').style.display='none';"/>
<input type="button" value="サイドバーを表示" onclick="javascript:document.getElementById('content-right').style.display='block';"/>
</div>
<div id="container-content">
<div id="content-right">
#content-right<br/>
hoge<br/>
hoge<br/>
hoge<br/>
hoge<br/>
</div>
<div id="content">
#content<br/>
test first<br/>
12345678901234567890123456789012345678900123456789001234567890<br/>
<script type="text/javascript">//<![CDATA[
for(i=0;i<50;i++)document.write('test:'+i+'<br/>');//]]>
</script>
</div>
</div>
<div id="container-footer">
#container-footer
</div>
</body>
</html>
短いURL
別に意味はないけど、なんか新鮮でいいかんじ。
ところで、
TinyURL によるとこのサイトのURLは http://tinyurl.com/yb7c8f7 というかんじになるそうだ。
Onion network みたいな感じで内部的に独自解釈してるのかな。



