gem update gemパッケージは、実はgemパッケージをダウンロードしてくるだけで、インストールはしない……?
2011年2月10日木曜日
gem update/install のふるまい?
いままで、とくに気にしたことはなかったのだけど、
ラベル:
CT-技術,
Gem,
Install,
ruby,
Ruby Gem,
STAT::SUSPEND,
Update,
インストールされない
2011年1月26日水曜日
作図エディタDiaの環境構築
この記事を更新しようとしたところ、Seesaaブログの不具合で、レイアウトがくずれてしまいます。
新しい記事を参照してください。
TeX で図を描きたいときにどうしようかと、ドロー系の作図ツールを探していた。TeX と言えば tgif という先入観からそれ系のを探していたが、そういえば Dia があったのだった。Dia はドロー系 (Draw) 作図エディタソフトウェア。検索していたところ、Microsoft Visio とよく比較されているようだ。
2011年1月24日月曜日
LyX 1.6.0 on TeX Live 2010
Windows XP環境(今回はCygwinはなし)で、LyX(pLaTeXのGUIフロントエンド)を、
試行していた。ある程度使えることが確認できたので、ここに報告する。
試行したのは、環境のインストールからLyXの機能の確認で、以下のような点:
・LyX環境のインストール(TeX, LyX, GhostScript, GSView)
・LyXで日本語文書の作成とコンパイル、dvi表示
・LyXでフリガナを振る
・LyXでカスタマイズしたデザインの索引・用語集を付ける
・LyXで上記を含んだ文書の親分書・子文書への分割、コンパイル、およびdvi表示
・上記文書のPDF表示、PostScript表示
である。以上で、満足する動作結果を得た。
試行していた。ある程度使えることが確認できたので、ここに報告する。
試行したのは、環境のインストールからLyXの機能の確認で、以下のような点:
・LyX環境のインストール(TeX, LyX, GhostScript, GSView)
・LyXで日本語文書の作成とコンパイル、dvi表示
・LyXでフリガナを振る
・LyXでカスタマイズしたデザインの索引・用語集を付ける
・LyXで上記を含んだ文書の親分書・子文書への分割、コンパイル、およびdvi表示
・上記文書のPDF表示、PostScript表示
である。以上で、満足する動作結果を得た。
2011年1月14日金曜日
LyXの日本語版の試行1
→とりあえず、動くようにはなりました(Jan. 24th, 2011: LyX 1.6.0 on TeX Live 2010)
でも日本語のLyX情報は、とても少ない。失敗の例として、このエントリを上げておく。他にもLyXの導入を試している方がおられたら、リンクを貼ってください。助け合いましょう。
■使用したインストーラ
LyX-168-4-26-AltInstaller-Complete.exe
■不具合概要
- 日本語の文書のdvi表示ができない。
- 英語の文書のdvi表示は、可能である。
- babel-japaneseをインストールするためのplatexが、処理できない
●推測される原因:
日本語の場合、インストール先のフォルダのパスにスペース、および日本語が含まれていると、上記不具合の原因となる?
●アドホック対処
スペースも日本語も含まないフォルダに、再インストールする。
→これでも、ダメでした。
■上記インストーラでインストールされるもの
●スタート・メニュー内:
- Ghostgum>GSview 4.9(LyXのアンインストールの途中、アンインストールできる)
- JabRef>JabRef 2.6(アンインストーラ有り)
- LyX 1.6.8>LyX(アンインストーラ有り)
- MiKTeX 2.9>(LyXのアンインストーラによってアンインストールできる)
※Aspellも、LyXのアンインストーラで、選択的アンインストールできる
●Program Files\ディレクトリ
- Ghostgum\
- JabRef\
- LyX 1.6.8\
- MiKTeX 2.9\
●プログラムの追加と削除
- Aspell 0.6 Dictionary (Language: en)
- Aspell 0.60.4 Data
- GSView 4.9
- LyX 1.6.8
- MiKTeX 2.9
- JabRef 2.6
■症状1:LyXドキュメントの表示時の不具合メッセージ
ヘルプ・ドキュメントを読もうとすると:
Message: "この文書が要求しているレイアウトファイル jarticle.layout が利用可能になっていません。この文書が要求 しているLaTeXクラス化スタイルファイルが利 用できないためと思われます。詳細は「カスタ マイズ」ヘルプファイルをご覧ください。 LyXは出力を生成することができません。 "
とポップアップ・ウィンドウに表示される。
- ヘルプ>
-LyXユーザーの手引き(UserGuide)
-LyXの高度な機能(Extended)
-埋込みオブジェクト篇(EmbeddedObjects)
などを開くと、表示される。 - ドキュメント自体は、メイン・ペインに表示される。
●解析
インストール先のディレクトリ
D:\Program Files\LyX 1.6.8\Resources\layouts\
を見ても、それらしきファイル(jarticle.layout など)は、既に存在する。
日本語関係のスタイルが使用できない状態になっている?
●解決方法
→?
��ドキュメント自体のHTML表示はなされる。)
■症状2:dvi表示時のコマンド実行のエラー
LyX起動後文書を作成しdvi表示のために、dviボタンを押下すると:
" java -jar htmltolatex.jar -input "newfile1.html" -を実行している間にエラーが発生しました。 "
●解析
ランチャ(LyX)が実行するコマンドに、なにかが欠けている?
■症状3:LyXドキュメント開いたときのエンコード関連のメッセージ
LyX起動後文書を作成しでdvi表示しようとすると、
“使用中の文書のパス「xxxxxxxx」には、現在の文書エンコーディング(すなわち***)で表すことのできないグリフが含まれています。このため、出力は不完全となる可能性が大きいです。 ��utf8など)適切な文書エンコーディングを選択するか、パス名を変更してください。”
と表示される。
xxxxxxxxは、LyXファイルの名前。***は、ファイル内の記述文字。
●解析
作成中の文書のクラスが想定する文字コードと、ファイル・システムが使用している文字コードが違うのではないか?
●解決方法
LyXのメニューで
設定>パス>作業ディレクトリ
と
設定>パス>一時ディレクトリ
に、日本語とスペースを含まないものにする。
文書(D)>設定>文書の設定>言語>言語(L):英語
→日本語にする。
■症状4:DVI表示時にエラー
MiKTeX Problem Report MiKTeX Problem Report Message: Not all fonts could be loaded. See 'File->Document Properties', for details. Data: Source: Programs\MiKTeX\Yap\MFC\DviDoc.cpp Line: 636 MiKTeX: 2.9 OS: Microsoft Windows XP Home Edition Service Pack 3 (build 2600) Invokers: lyx SystemAdmin: yes PowerUser: no Root0: C:\Documents and Settings\日本語のアカウント名\Application Data\MiKTeX\2.9 Root1: C:\Documents and Settings\日本語のアカウント名\Local Settings\Application Data\MiKTeX\2.9 Root2: C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9 Root3: D:\Program Files\MiKTeX 2.9 UserInstall: C:\Documents and Settings\日本語のアカウント名\Application Data\MiKTeX\2.9 UserConfig: C:\Documents and Settings\日本語のアカウント名\Application Data\MiKTeX\2.9 UserData: C:\Documents and Settings\日本語のアカウント名\Local Settings\Application Data\MiKTeX\2.9 CommonInstall: D:\Program Files\MiKTeX 2.9 CommonConfig: C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9 CommonData: C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9
■症状5:babel-japaneseインストール時platexが機能しない
babel-japaneseを展開し、japanese.insをコンパイルしたいが、platex.exeが処理不能。下記のログを出して、コマンドラインからのplatexが処理されない:
D:\tex\MiKTeX\tex\generic\babel\japanese>platex japanese.ins This is pdfTeX, Version 3.1415926-1.40.11 (MiKTeX 2.9) platex: The memory dump file could not be found. platex: Data: platex.fmt
■検討資料
●��:
��:ツール>言語設定>デフォルト
��:文書>言語
��:結果
�� 2 3
日本語(CJK) ユニコード(CJK)(utf8) 長考の後、エラー
�� 1 2 3
ファイルの中身utf8 日本語(CJK) ユニコード(CJK)(utf8) dviビューワ立ち上がるがエラー
→フォントの設定?
●メモ
・"Managing Memory Dump files"http://docs.miktex.org/manual/formats.html
・MiKTeX Optionsを起動。
MiKTeX Options>General>
1)Refresh FNDB.
Ok.
2)Update Formats
エラー発生。
Formatsタブのリスト内のPLaTeXのexcludedをはずし、Updateを行うと:
ウィンドウ:MiKTeX Maintainance というウィンドウに、
Creating format file for:
PLaTeX
というメッセージが表示され、Transcriptウィンドウに:
" miktex-makefmt: The input file could not be found.
initexmf.EXE: The operation failed for some reason.
initexmf.EXE: Data: D:\tex\MiKTeX\miktex\bin\miktex-makefmt.exe
"
というログを出力する。
・PLaTeXフォーマットが使用するplatex.iniというファイルは、
d:\tex\MiKTeX\miktex\config\
に存在する。
・pdftexが使用するpdftex.iniというファイルは、
d:\tex\MiKTeX\miktex\config\
d:\tex\MiKTeX\tex\plain\config\
に存在する。
■その他資料・メモ
■LyX設定
●フォントの設定
Tool>Settings Times New Roman-> JP Gothic Arial->JP Mincho Courier New->JP Gothic
●アウトラインの表示
文書>文書構造で、章構造が左端に表示される。●メニューの言語設定
LyXメニューのツール>設定>言語設定 ユーザインターフェイス:規定値 デフォルト:英語にすると、メニューが英語になる。
●今回参考にしたリンク
- http://www.netlaputa.ne.jp/~kuno/lyx/mylyx_p1.html
- ☆ http://www.int.otaru-uc.ac.jp/lyx-howto/setup/japanize
- http://old.nabble.com/%22Settings-Update-Formats%22-fails-for-Latex-td29879951.html
babel-japanese がインストールされているか、確認。
■インストール・ログ
●MiKTeX
Loading package database... starting package maintenance... installation directory: D:\tex\MiKTeX package repository: C:\DOCUME~1\日本語のアカウント名\LOCALS~1\Temp\mik31642 visiting repository C:\DOCUME~1\日本語のアカウント名\LOCALS~1\Temp\mik31642... repository type: local package repository loading lightweight database... lightweight database digest: b8cba40bc9eac2c698e73738f24aed4b going to install 9316 file(s) (156 package(s)) problem: D:\tex\MiKTeX\miktex/bin\MiKTeX209-core-PS.dll does not exist problem: D:\tex\MiKTeX\miktex/bin\MiKTeX209-core.dll does not exist problem: D:\tex\MiKTeX\miktex/bin\MiKTeX209-packagemanager-PS.dll does not exist problem: D:\tex\MiKTeX\miktex/bin\MiKTeX209-packagemanager.dll does not exist extracting files from ae.tar.lzma... extracting files from amsfonts.tar.lzma... extracting files from amslatex.tar.lzma... extracting files from avantgar.cab... extracting files from babel.tar.lzma... extracting files from bidi.tar.lzma... extracting files from bookman.cab... extracting files from carlisle.tar.lzma... extracting files from cbcoptic.tar.lzma... extracting files from cm.tar.lzma... extracting files from courier.cab... extracting files from dehyph-exptl.tar.lzma... extracting files from ec.cab... extracting files from elhyphen.tar.lzma... extracting files from enctex.tar.lzma... extracting files from euenc.tar.lzma... extracting files from eurosym.tar.lzma... extracting files from float.cab... extracting files from fontspec.tar.lzma... extracting files from geometry.tar.lzma... extracting files from graphics.tar.lzma... extracting files from helvetic.cab... extracting files from hoekwater.cab... extracting files from hyperref.tar.lzma... extracting files from hyph-utf8.tar.lzma... extracting files from ifxetex.tar.lzma... extracting files from jknappen.cab... extracting files from latex-fonts.tar.lzma... extracting files from latex2e-help-texinfo.tar.lzma... extracting files from lm.tar.lzma... extracting files from ltxbase.tar.lzma... extracting files from ltxmisc.tar.lzma... extracting files from lua-alt-getopt.tar.lzma... extracting files from luainputenc.tar.lzma... extracting files from lualibs.tar.lzma... extracting files from luamplib.tar.lzma... extracting files from luaotfload.tar.lzma... extracting files from luatexbase.tar.lzma... extracting files from luatextra.tar.lzma... extracting files from mflogo.cab... extracting files from miktex-arctrl-bin-2.9.tar.lzma... extracting files from miktex-bibtex-base.cab... extracting files from miktex-bibtex-bin-2.9.tar.lzma... extracting files from miktex-bibtex8bit-base.cab... extracting files from miktex-bibtex8bit-bin-2.9.tar.lzma... extracting files from miktex-bin-2.9.tar.lzma... extracting files from miktex-cjkutils-bin-2.9.tar.lzma... extracting files from miktex-config-2.9.tar.lzma... extracting files from miktex-cweb-base.cab... extracting files from miktex-cweb-bin-2.9.tar.lzma... extracting files from miktex-dict-english.tar.lzma... extracting files from miktex-dict-french.tar.lzma... extracting files from miktex-dict-german.tar.lzma... extracting files from miktex-doc-2.9.tar.lzma... extracting files from miktex-dvicopy-bin-2.9.tar.lzma... extracting files from miktex-dvipdfm-base-2.7.tar.lzma... extracting files from miktex-dvipdfmx-base-2.7.tar.lzma... extracting files from miktex-dvipdfmx-bin-2.9.tar.lzma... extracting files from miktex-dvipng-bin-2.9.tar.lzma... extracting files from miktex-dvips-base.tar.bz2... extracting files from miktex-dvips-bin-2.9.tar.lzma... extracting files from miktex-dvips-doc.cab... extracting files from miktex-etex-base.cab... extracting files from miktex-findtexmf-bin-2.9.tar.lzma... extracting files from miktex-fontconfig-base.tar.lzma... extracting files from miktex-fontconfig-bin-2.9.tar.lzma... extracting files from miktex-fontname-base.tar.lzma... extracting files from miktex-fonts-bin-2.9.tar.lzma... extracting files from miktex-freetype-base.cab... extracting files from miktex-freetype-bin-2.9.tar.lzma... extracting files from miktex-freetype2-bin-2.9.tar.lzma... extracting files from miktex-ghostscript-base-2.9.tar.lzma... extracting files from miktex-ghostscript-bin-2.9.tar.lzma... extracting files from miktex-graphics-bin-2.9.tar.lzma... extracting files from miktex-gsf2pk-base.cab... extracting files from miktex-gsf2pk-bin-2.9.tar.lzma... extracting files from miktex-hunspell-bin-2.9.tar.lzma... extracting files from miktex-hyph-french.tar.bz2... extracting files from miktex-hyph-german.tar.bz2... extracting files from miktex-hyph-usenglish.cab... extracting files from miktex-icu-bin-2.9.tar.lzma... extracting files from miktex-kpathsea-bin-2.9.tar.lzma... extracting files from miktex-latex-config-2.9.tar.lzma... extracting files from miktex-lua51-bin-2.9.tar.lzma... extracting files from miktex-luatex-base.tar.lzma... extracting files from miktex-luatex-bin-2.9.tar.lzma... extracting files from miktex-makeindex-base.cab... extracting files from miktex-makeindex-bin-2.9.tar.lzma... extracting files from miktex-metafont-base.cab... extracting files from miktex-metafont-bin-2.9.tar.lzma... extracting files from miktex-metafont-misc.tar.lzma... extracting files from miktex-metapost-base-2.7.tar.lzma... extracting files from miktex-metapost-bin-2.9.tar.lzma... extracting files from miktex-mft-base.cab... extracting files from miktex-mfware-bin-2.9.tar.lzma... extracting files from miktex-misc.tar.lzma... extracting files from miktex-mkfntmap-bin-2.9.tar.lzma... extracting files from miktex-mktex-bin-2.9.tar.lzma... extracting files from miktex-mo-bin-2.9.tar.lzma... extracting files from miktex-mpm-bin-2.9.tar.lzma... extracting files from miktex-mthelp-bin-2.9.tar.lzma... extracting files from miktex-mtprint-bin-2.9.tar.lzma... extracting files from miktex-omega-bin-2.9.tar.lzma... extracting files from miktex-pdftex-base-2.9.tar.lzma... extracting files from miktex-pdftex-bin-2.9.tar.lzma... extracting files from miktex-pdftex-doc-2.6.tar.bz2... extracting files from miktex-poppler-base.tar.lzma... extracting files from miktex-poppler-bin-2.9.tar.lzma... extracting files from miktex-ps2pk-bin-2.9.tar.lzma... extracting files from miktex-psutils-base.cab... extracting files from miktex-psutils-bin-2.9.tar.lzma... extracting files from miktex-qt4-bin-2.9.tar.lzma... extracting files from miktex-runtime-bin-2.9.tar.lzma... extracting files from miktex-teckit-bin-2.9.tar.lzma... extracting files from miktex-tex-base.tar.lzma... extracting files from miktex-tex-bin-2.9.tar.lzma... extracting files from miktex-tex-misc.tar.lzma... extracting files from miktex-tex4ht-bin-2.9.tar.lzma... extracting files from miktex-texify-bin-2.9.tar.lzma... extracting files from miktex-texinfo-base.tar.lzma... extracting files from miktex-texinfo-bin-2.9.tar.lzma... extracting files from miktex-texware-bin-2.9.tar.lzma... extracting files from miktex-texworks-bin-2.9.tar.lzma... extracting files from miktex-texworks-doc.tar.lzma... extracting files from miktex-vc100-bin.tar.lzma... extracting files from miktex-web-bin-2.9.tar.lzma... extracting files from miktex-xdvipdfmx-bin-2.9.tar.lzma... extracting files from miktex-xetex-base.tar.lzma... extracting files from miktex-xetex-bin-2.9.tar.lzma... extracting files from miktex-yap-bin-2.9.tar.lzma... extracting files from miktex-zip-bin.tar.lzma... extracting files from multirow.cab... extracting files from ncntrsbk.cab... extracting files from oberdiek.tar.lzma... extracting files from palatino.cab... extracting files from pdftex-def.tar.lzma... extracting files from pslatex.cab... extracting files from psnfss.cab... extracting files from pstricks.tar.lzma... extracting files from rsfs.tar.lzma... extracting files from ruhyphen.cab... extracting files from tds.cab... extracting files from thumbpdf.tar.lzma... extracting files from times.cab... extracting files from tools.tar.lzma... extracting files from ukrhyph.cab... extracting files from utopia.cab... extracting files from xetexref.tar.lzma... extracting files from xetexurl.tar.lzma... extracting files from xgreek.tar.lzma... extracting files from xkeyval.tar.lzma... extracting files from xltxtra.tar.lzma... extracting files from xunicode.tar.lzma... extracting files from xypic.tar.lzma... extracting files from zapfchan.cab... extracting files from zapfding.cab... updating package definition directory (D:\tex\MiKTeX\tpm\packages)... installed 1959 package definition files visiting repository C:\DOCUME~1\日本語のアカウント名\LOCALS~1\Temp\mik31642... repository type: local package repository loading lightweight database... Registering root directories... configuring fontconfig\config\fonts.conf registering D:\tex\MiKTeX\miktex/bin\MiKTeX209-core.dll registering D:\tex\MiKTeX\miktex/bin\MiKTeX209-core-PS.dll registering D:\tex\MiKTeX\miktex/bin\MiKTeX209-packagemanager.dll registering D:\tex\MiKTeX\miktex/bin\MiKTeX209-packagemanager-PS.dll Skipping user root directory ("C:\Documents and Settings\日本語のアカウント名\Application Data\MiKTeX\2.9")... Skipping user root directory ("C:\Documents and Settings\日本語のアカウント名\Local Settings\Application Data\MiKTeX\2.9")... Creating fndb for common root directory ("C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9")... Creating fndb for common root directory (D:\tex\MiKTeX)... Making format links... Making script links... D:\tex\MiKTeX\miktex/bin\miktex-taskbar-icon.exe D:\tex\MiKTeX\miktex/bin\miktex-update.exe Creating language.dat, language.dat.lua and language.def... Entering administrative mode... Parsing config file D:\tex\MiKTeX\miktex\config\updmap.cfg... Parsing D:\tex\MiKTeX\fonts\map\dvips\tetex\dvips35.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\tetex\pdftex35.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\tetex\dvipdfm35.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\tetex\ps2pk35.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\amsfonts\cm.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\amsfonts\cmextra.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\amsfonts\cyrillic.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\amsfonts\euler.map... Parsing D:\tex\MiKTeX\dvips\eurosym\eurosym.map... Parsing D:\tex\MiKTeX\dvips\hoekwater\hoekwater.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\amsfonts\latxfont.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\rsfs\rsfs.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\amsfonts\symbols.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\xypic\xypic.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\psnfss\charter.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\psnfss\fpls.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\lm\lm.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\obsolete\mathpi.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\obsolete\mathpple-ext.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\psnfss\pazo.map... Parsing D:\tex\MiKTeX\dvips\pslatex\pcrr8rn.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\psnfss\psnfss.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\avantgar\uag.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\bookman\ubk.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\courier\ucr.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\helvetic\uhv.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\ncntrsbk\unc.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\palatino\upl.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\times\utm.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\psnfss\utopia.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\zapfchan\uzc.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\zapfding\uzd.map... Writing "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvips\config\ps2pk.map"... Writing "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvips\config\download35.map"... Writing "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvips\config\builtin35.map"... Writing "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvips\config\psfonts_t1.map"... Writing "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvips\config\psfonts_pk.map"... Writing "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\pdftex\config\pdftex_ndl14.map"... Writing "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\pdftex\config\pdftex_dl14.map"... Writing "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvipdfm\config\dvipdfm_dl14.map"... Writing "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvipdfm\config\dvipdfm_ndl14.map"... Copying "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvips\config\psfonts_t1.map" to "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvips\config\psfonts.map"... Copying "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvipdfm\config\dvipdfm_dl14.map" to "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvipdfm\config\dvipdfm.map"... Copying "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\pdftex\config\pdftex_dl14.map" to "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\pdftex\config\pdftex.map"... C:/WINDOWS/Fonts: caching, new cache contents: 719 fonts, 0 dirs C:/Program Files/Adobe/Reader 9.0/Resource/Font: caching, new cache contents: 16 fonts, 1 dirs C:/Program Files/Adobe/Reader 9.0/Resource/Font/PFM: caching, new cache contents: 0 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1: caching, new cache contents: 0 fonts, 5 dirs D:/tex/MiKTeX/fonts/type1/adobe: caching, new cache contents: 0 fonts, 2 dirs D:/tex/MiKTeX/fonts/type1/adobe/courier: caching, new cache contents: 6 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/adobe/utopia: caching, new cache contents: 4 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/groff: caching, new cache contents: 1 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/hoekwater: caching, new cache contents: 0 fonts, 4 dirs D:/tex/MiKTeX/fonts/type1/hoekwater/mflogo: caching, new cache contents: 8 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/hoekwater/misc: caching, new cache contents: 1 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/hoekwater/rsfs: caching, new cache contents: 3 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/hoekwater/stmaryrd: caching, new cache contents: 6 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/public: caching, new cache contents: 0 fonts, 6 dirs D:/tex/MiKTeX/fonts/type1/public/amsfonts: caching, new cache contents: 0 fonts, 6 dirs D:/tex/MiKTeX/fonts/type1/public/amsfonts/cm: caching, new cache contents: 75 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/public/amsfonts/cmextra: caching, new cache contents: 15 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/public/amsfonts/cyrillic: caching, new cache contents: 5 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/public/amsfonts/euler: caching, new cache contents: 22 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/public/amsfonts/latxfont: caching, new cache contents: 14 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/public/amsfonts/symbols: caching, new cache contents: 12 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/public/cbcoptic: caching, new cache contents: 2 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/public/eurosym: caching, new cache contents: 12 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/public/lm: caching, new cache contents: 92 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/public/rsfs: caching, new cache contents: 3 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/public/xypic: caching, new cache contents: 23 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/urw: caching, new cache contents: 0 fonts, 9 dirs D:/tex/MiKTeX/fonts/type1/urw/avantgar: caching, new cache contents: 4 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/urw/bookman: caching, new cache contents: 4 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/urw/courier: caching, new cache contents: 4 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/urw/helvetic: caching, new cache contents: 14 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/urw/ncntrsbk: caching, new cache contents: 4 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/urw/palatino: caching, new cache contents: 4 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/urw/times: caching, new cache contents: 4 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/urw/zapfchan: caching, new cache contents: 1 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/urw/zapfding: caching, new cache contents: 1 fonts, 0 dirs D:/tex/MiKTeX/fonts/opentype: caching, new cache contents: 0 fonts, 1 dirs D:/tex/MiKTeX/fonts/opentype/public: caching, new cache contents: 0 fonts, 1 dirs D:/tex/MiKTeX/fonts/opentype/public/lm: caching, new cache contents: 72 fonts, 0 dirs C:/Documents and Settings/All Users/Application Data/MiKTeX/2.9/fontconfig/cache: cleaning cache directory D:\tex\MiKTeX\miktex\bin\fc-cache.EXE: succeeded Skipping user root directory ("C:\Documents and Settings\日本語のアカウント名\Application Data\MiKTeX\2.9")... Skipping user root directory ("C:\Documents and Settings\日本語のアカウント名\Local Settings\Application Data\MiKTeX\2.9")... Creating fndb for common root directory ("C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9")... Creating fndb for common root directory (D:\tex\MiKTeX)... MiKTeX: 2.9 SystemAdmin: yes PowerUser: no OS: Microsoft Windows XP Home Edition Service Pack 3 (build 2600) Root0: C:\Documents and Settings\日本語のアカウント名\Application Data\MiKTeX\2.9 Root1: C:\Documents and Settings\日本語のアカウント名\Local Settings\Application Data\MiKTeX\2.9 Root2: C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9 Root3: D:\tex\MiKTeX UserInstall: C:\Documents and Settings\日本語のアカウント名\Application Data\MiKTeX\2.9 UserData: C:\Documents and Settings\日本語のアカウント名\Local Settings\Application Data\MiKTeX\2.9 UserConfig: C:\Documents and Settings\日本語のアカウント名\Application Data\MiKTeX\2.9 CommonInstall: D:\tex\MiKTeX CommonData: C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9 CommonConfig: C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9
●MiKTeX Updateログ
downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma... 522841 bytes, 45.64 KB/Sec updating package definition directory (D:\tex\MiKTeX\tpm\packages)... installed 217 package definition files visiting repository ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/... repository type: remote package repository loading lightweight database... downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma... 105633 bytes, 22.77 KB/Sec starting package maintenance... installation directory: D:\tex\MiKTeX package repository: ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/ lightweight database digest: 8312afd360ec6cd2cfde8e430a7cd502 going to download 28554293 bytes going to install 325 file(s) (19 package(s)) unregistering D:\tex\MiKTeX\miktex/bin\MiKTeX209-core-PS.dll unregistering D:\tex\MiKTeX\miktex/bin\MiKTeX209-core.dll unregistering D:\tex\MiKTeX\miktex/bin\MiKTeX209-packagemanager-PS.dll unregistering D:\tex\MiKTeX\miktex/bin\MiKTeX209-packagemanager.dll downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/fontspec.tar.lzma... 2955471 bytes, 78.37 KB/Sec extracting files from fontspec.tar.lzma... downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/hyperref.tar.lzma... 3328790 bytes, 82.23 KB/Sec extracting files from hyperref.tar.lzma... downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/ltxmisc.tar.lzma... 65021 bytes, 11.35 KB/Sec extracting files from ltxmisc.tar.lzma... downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/luainputenc.tar.lzma... 424357 bytes, 43.62 KB/Sec extracting files from luainputenc.tar.lzma... downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/luamplib.tar.lzma... 317712 bytes, 28.16 KB/Sec extracting files from luamplib.tar.lzma... downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/luaotfload.tar.lzma... 277877 bytes, 29.64 KB/Sec extracting files from luaotfload.tar.lzma... downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/luatexbase.tar.lzma... 2376249 bytes, 67.94 KB/Sec extracting files from luatexbase.tar.lzma... downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/luatextra.tar.lzma... 322873 bytes, 34.49 KB/Sec extracting files from luatextra.tar.lzma... downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/miktex-fontconfig-bin-2.9.tar.lzma... 102217 bytes, 25.97 KB/Sec extracting files from miktex-fontconfig-bin-2.9.tar.lzma... downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/miktex-ghostscript-bin-2.9.tar.lzma... 9286778 bytes, 83.32 KB/Sec extracting files from miktex-ghostscript-bin-2.9.tar.lzma... downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/miktex-misc.tar.lzma... 40762 bytes, 13.13 KB/Sec extracting files from miktex-misc.tar.lzma... downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/miktex-mo-bin-2.9.tar.lzma... 85375 bytes, 15.74 KB/Sec extracting files from miktex-mo-bin-2.9.tar.lzma... downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/miktex-runtime-bin-2.9.tar.lzma... 854677 bytes, 45.97 KB/Sec extracting files from miktex-runtime-bin-2.9.tar.lzma... downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/miktex-yap-bin-2.9.tar.lzma... 392941 bytes, 34.69 KB/Sec extracting files from miktex-yap-bin-2.9.tar.lzma... downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/pdftex-def.tar.lzma... 13457 bytes, 7.86 KB/Sec extracting files from pdftex-def.tar.lzma... downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/pstricks.tar.lzma... 7481978 bytes, 86.69 KB/Sec extracting files from pstricks.tar.lzma... downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/xetexref.tar.lzma... 139771 bytes, 23.17 KB/Sec extracting files from xetexref.tar.lzma... downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/xgreek.tar.lzma... 70893 bytes, 19.44 KB/Sec extracting files from xgreek.tar.lzma... downloading ftp://ftp.tu-chemnitz.de/pub/tex/systems/win32/miktex/tm/packages/xunicode.tar.lzma... 17094 bytes, 9.63 KB/Sec extracting files from xunicode.tar.lzma... configuring fontconfig\config\fonts.conf registering D:\tex\MiKTeX\miktex/bin\MiKTeX209-core.dll registering D:\tex\MiKTeX\miktex/bin\MiKTeX209-core-PS.dll registering D:\tex\MiKTeX\miktex/bin\MiKTeX209-packagemanager.dll registering D:\tex\MiKTeX\miktex/bin\MiKTeX209-packagemanager-PS.dll Skipping user root directory ("C:\Documents and Settings\日本語のアカウント名\Application Data\MiKTeX\2.9")... Skipping user root directory ("C:\Documents and Settings\日本語のアカウント名\Local Settings\Application Data\MiKTeX\2.9")... Creating fndb for common root directory ("C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9")... Creating fndb for common root directory (D:\tex\MiKTeX)... Making format links... Making script links... D:\tex\MiKTeX\miktex/bin\miktex-taskbar-icon.exe D:\tex\MiKTeX\miktex/bin\miktex-update.exe Creating language.dat, language.dat.lua and language.def... Entering administrative mode... Parsing config file D:\tex\MiKTeX\miktex\config\updmap.cfg... Parsing D:\tex\MiKTeX\fonts\map\dvips\tetex\dvips35.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\tetex\pdftex35.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\tetex\dvipdfm35.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\tetex\ps2pk35.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\amsfonts\cm.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\amsfonts\cmextra.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\amsfonts\cyrillic.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\amsfonts\euler.map... Parsing D:\tex\MiKTeX\dvips\eurosym\eurosym.map... Parsing D:\tex\MiKTeX\dvips\hoekwater\hoekwater.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\amsfonts\latxfont.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\rsfs\rsfs.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\amsfonts\symbols.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\xypic\xypic.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\psnfss\charter.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\psnfss\fpls.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\lm\lm.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\obsolete\mathpi.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\obsolete\mathpple-ext.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\psnfss\pazo.map... Parsing D:\tex\MiKTeX\dvips\pslatex\pcrr8rn.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\psnfss\psnfss.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\avantgar\uag.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\bookman\ubk.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\courier\ucr.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\helvetic\uhv.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\ncntrsbk\unc.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\palatino\upl.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\times\utm.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\psnfss\utopia.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\zapfchan\uzc.map... Parsing D:\tex\MiKTeX\fonts\map\dvips\zapfding\uzd.map... Writing "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvips\config\ps2pk.map"... Writing "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvips\config\download35.map"... Writing "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvips\config\builtin35.map"... Writing "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvips\config\psfonts_t1.map"... Writing "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvips\config\psfonts_pk.map"... Writing "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\pdftex\config\pdftex_ndl14.map"... Writing "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\pdftex\config\pdftex_dl14.map"... Writing "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvipdfm\config\dvipdfm_dl14.map"... Writing "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvipdfm\config\dvipdfm_ndl14.map"... Copying "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvips\config\psfonts_t1.map" to "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvips\config\psfonts.map"... Copying "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvipdfm\config\dvipdfm_dl14.map" to "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\dvipdfm\config\dvipdfm.map"... Copying "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\pdftex\config\pdftex_dl14.map" to "C:\Documents and Settings\All Users\Application Data\MiKTeX\2.9\pdftex\config\pdftex.map"... C:/WINDOWS/Fonts: skipping, existing cache is valid: 719 fonts, 0 dirs C:/Program Files/Adobe/Reader 9.0/Resource/Font: skipping, existing cache is valid: 16 fonts, 1 dirs C:/Program Files/Adobe/Reader 9.0/Resource/Font/PFM: skipping, existing cache is valid: 0 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1: skipping, existing cache is valid: 0 fonts, 5 dirs D:/tex/MiKTeX/fonts/type1/adobe: skipping, existing cache is valid: 0 fonts, 2 dirs D:/tex/MiKTeX/fonts/type1/adobe/courier: skipping, existing cache is valid: 6 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/adobe/utopia: skipping, existing cache is valid: 4 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/groff: skipping, existing cache is valid: 1 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/hoekwater: skipping, existing cache is valid: 0 fonts, 4 dirs D:/tex/MiKTeX/fonts/type1/hoekwater/mflogo: skipping, existing cache is valid: 8 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/hoekwater/misc: skipping, existing cache is valid: 1 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/hoekwater/rsfs: skipping, existing cache is valid: 3 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/hoekwater/stmaryrd: skipping, existing cache is valid: 6 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/public: skipping, existing cache is valid: 0 fonts, 6 dirs D:/tex/MiKTeX/fonts/type1/public/amsfonts: skipping, existing cache is valid: 0 fonts, 6 dirs D:/tex/MiKTeX/fonts/type1/public/amsfonts/cm: skipping, existing cache is valid: 75 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/public/amsfonts/cmextra: skipping, existing cache is valid: 15 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/public/amsfonts/cyrillic: skipping, existing cache is valid: 5 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/public/amsfonts/euler: skipping, existing cache is valid: 22 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/public/amsfonts/latxfont: skipping, existing cache is valid: 14 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/public/amsfonts/symbols: skipping, existing cache is valid: 12 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/public/cbcoptic: skipping, existing cache is valid: 2 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/public/eurosym: skipping, existing cache is valid: 12 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/public/lm: skipping, existing cache is valid: 92 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/public/rsfs: skipping, existing cache is valid: 3 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/public/xypic: skipping, existing cache is valid: 23 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/urw: skipping, existing cache is valid: 0 fonts, 9 dirs D:/tex/MiKTeX/fonts/type1/urw/avantgar: skipping, existing cache is valid: 4 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/urw/bookman: skipping, existing cache is valid: 4 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/urw/courier: skipping, existing cache is valid: 4 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/urw/helvetic: skipping, existing cache is valid: 14 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/urw/ncntrsbk: skipping, existing cache is valid: 4 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/urw/palatino: skipping, existing cache is valid: 4 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/urw/times: skipping, existing cache is valid: 4 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/urw/zapfchan: skipping, existing cache is valid: 1 fonts, 0 dirs D:/tex/MiKTeX/fonts/type1/urw/zapfding: skipping, existing cache is valid: 1 fonts, 0 dirs D:/tex/MiKTeX/fonts/opentype: skipping, existing cache is valid: 0 fonts, 1 dirs D:/tex/MiKTeX/fonts/opentype/public: skipping, existing cache is valid: 0 fonts, 1 dirs D:/tex/MiKTeX/fonts/opentype/public/lm: skipping, existing cache is valid: 72 fonts, 0 dirs C:/Documents and Settings/All Users/Application Data/MiKTeX/2.9/fontconfig/cache: cleaning cache directory D:\tex\MiKTeX\miktex\bin\fc-cache.EXE: succeeded
2010年12月24日金曜日
Rubyにおける代入・参照・参照渡しと、メソッドの仮引数・ローカル変数・グローバル変数
ひさびさにRubyを触って、思い出すまでハマったのでメモっておく。
「Rubyには参照渡ししかない」とだけ覚えていたことから、生じていた思い込み:
これは間違い。
以下が正しい:
以下のようなt_f, t_f2, t_f3 のメソッドがあるとする:
「Rubyには参照渡ししかない」とだけ覚えていたことから、生じていた思い込み:
×メソッドの引数を介して、グローバル変数の値は変えられる
これは間違い。
以下が正しい:
- 代入演算子= は、参照先を変更する(だけの)ためのものである
- メソッドは、オブジェクトに対するメッセージである
- メソッドの機能の一つには、オブジェクト内部のフィールドの値を変更することがある
- メソッド定義の仮引数は、メソッドのスコープのローカル変数である
実験
以下のようなt_f, t_f2, t_f3 のメソッドがあるとする:
irb(main):022:0> def t_f( a ) irb(main):023:1> a='t_f' irb(main):024:1> end => nil irb(main):029:0> def t_f2( a ) irb(main):030:1> a.push('bar') irb(main):031:1> end => nil irb(main):036:0> def t_f3( a ) irb(main):037:1> b=a irb(main):038:1> b.push('t_f3') irb(main):039:1> end => nil
メソッド t_f のテスト
irb(main):025:0> a="boo" => "boo" irb(main):026:0> t_f( a ) => "t_f" irb(main):027:0> a => "boo"
グローバル・スコープの変数 a の参照が、メソッド t_f の仮引数 a にコピーされる
(この時点で t_f の仮引数a の参照先は、オブジェクト"boo"である)
メソッド t_f の仮引数 a の参照先が、文字列オブジェクト "t_f" に、変更される
メソッド t_f を抜けたので、メソッド t_f の仮引数 a は破棄される
��グローバル・スコープの変数 a の値=参照先は、 "boo" のままであることが、確認される)
メソッド t_f2 のテスト
irb(main):028:0> b=['boo'] => ["boo"] irb(main):033:0> t_f2( b ) => ["boo", "bar"] irb(main):034:0> b => ["boo", "bar"]
グローバル・スコープの変数b の参照が、メソッドt_f2の仮引数a にコピーされる(この時点でt_fの仮引数a の参照先は、オブジェクト["boo"]である)
メソッドt_f2の仮引数a に、メッセージpush("bar")が渡され、仮引数a の参照先のオブジェクトは["boo", "bar"]に、変更される
メソッドt_f2 を抜けたので、メソッドt_f2 の仮引数a は破棄される
��グローバル・スコープの変数b の値=参照先のオブジェクトの値は、["boo", "bar"]と変更されていることが、確認される)
メソッド t_f3 のテスト
irb(main):042:0> b=["boo", "bar", "bar"] => ["boo", "bar", "bar"] irb(main):043:0> t_f3( b ) => ["boo", "bar", "bar", "t_f3"] irb(main):044:0> b => ["boo", "bar", "bar", "t_f3"]
グローバル・スコープの変数b の参照が、メソッドt_f3の仮引数a にコピーされる
(この時点でt_fの仮引数a の参照先は、オブジェクト["boo", "bar", "bar"]である)
メソッドt_f2のローカル変数b の参照先は、仮引数a の参照先に設定される
メソッドt_f2のローカル変数b の参照先に、"t_f3"がpushされ、オブジェクト["boo", "bar", "bar", "t_f3"]に、変更される
メソッドt_f2 を抜けたので、メソッドt_f2 の仮引数a 、ローカル変数b は、ともに破棄される
��グローバル・スコープの変数b の値=参照先のオブジェクトの値は、["boo", "bar", "bar", "t_f3"]と変更されていることが、確認される)
2010年12月7日火曜日
Ruby/Cygwinでrdoc-dataのgemインストールがおかしいことの対処方法
■
WindowsXPマシン上のCygwin環境のRubyの mechanize を、gemインストールで1.0.0 に更新したのだけど、ドキュメント関係が何かオカシイ。調べていた途中で、rdoc, rdoc-dataがインストールされていないことも、判明した。
で、例によってトラブったのだが、ググッたところどうも解説法が見つからないようなので、原因について調査を進めていった。最終的には、解決(rdocとrdoc-dataをインストールし、使用できるようにすること)にいたった。
原因はくだらないが知らなければ誰もが引っかかると思うので、ここに記す。
環境は
■忙しい人のために
解決手順は、以下の通りである:
■1.gemインストール(rdoc)
■2.gemインストール(rdoc-data)
■3.rdoc-data修正
インストールしても、なぜかコマンド:rdoc-data は、/usr/bin/配下にコピー
されない。このため、手動でコピーする:
そこで rdoc-data の中身をみると、6行からなる単なるrubyスクリプトである:
■4.rdoc-dataの実行
rdocインストール時のログの続き(rdoc-data --install)を実行する:
■5.gemインストールの確認
■6.rdocドキュメントの確認
rdocドキュメントは、GEMのホームディレクトリ/doc/ 配下に入っている
である場合、rdocはそれぞれ
実際のファイルを確認してみよう。
参考までに、rackパッケージのものも
■References
http://docs.rubygems.org/read/chapter/11
■余談
ところで、なぜか gem list したときにまだ、
まだなにかそんな項目を使っている設定が残っている…?
WindowsXPマシン上のCygwin環境のRubyの mechanize を、gemインストールで1.0.0 に更新したのだけど、ドキュメント関係が何かオカシイ。調べていた途中で、rdoc, rdoc-dataがインストールされていないことも、判明した。
で、例によってトラブったのだが、ググッたところどうも解説法が見つからないようなので、原因について調査を進めていった。最終的には、解決(rdocとrdoc-dataをインストールし、使用できるようにすること)にいたった。
原因はくだらないが知らなければ誰もが引っかかると思うので、ここに記す。
環境は
$ uname -srvmpioである。
CYGWIN_NT-5.1 1.7.7(0.230/5/3) 2010-08-31 09:58 i686 unknown unknown Cygwin
$ ruby --version
ruby 1.8.7 (2008-08-11 patchlevel 72) [i386-cygwin]
$ gem --version
1.3.7
■忙しい人のために
解決手順は、以下の通りである:
- gemインストール(rdoc)
gem install rdoc - gemインストール(rdoc-data)
gem install rdoc-data - rdoc-data修正
s/local\/// - 修正済みrdoc-dataの実行
cp rdoc-data /usr/bin; rdoc-data --install - gemインストールの確認
- rdocドキュメントの確認
■1.gemインストール(rdoc)
$ gem install rdoc -yrdocはインストールされたらようだ。
INFO: `gem install -y` is now default and will be removed
INFO: use --ignore-dependencies to install only the gems you list
RDoc 2.5 did not save method parameters, so you should upgrade your rdoc-data
gem to a version >= 2.5.3.
To have ri data for core and stdlib you'll need to:
gem install rdoc-data
then run:
rdoc-data --install
To have ri data for you gems you'll also need to run:
gem rdoc --all --overwrite
If you don't want to rebuild the rdoc for `gem server`, add --no-rdoc.
Successfully installed rdoc-2.5.11
1 gem installed
Installing ri documentation for rdoc-2.5.11...
Installing RDoc documentation for rdoc-2.5.11...
$ gem which rdoc
/cygdrive/d/home/gems/rdoc-2.5.11/lib/rdoc.rb
■2.gemインストール(rdoc-data)
$ gem install rdoc-data
To install ri data for RDoc 2.5+ run:
rdoc-data
Successfully installed rdoc-data-2.5.3
1 gem installed
Installing ri documentation for rdoc-data-2.5.3...
Installing RDoc documentation for rdoc-data-2.5.3...
■3.rdoc-data修正
インストールしても、なぜかコマンド:rdoc-data は、/usr/bin/配下にコピー
されない。このため、手動でコピーする:
$ cd ${GEM_HOME}/gems/rdoc-data-2.5.3/binだがここで、rdoc-dataを実行すると:
$ cp -i rdoc-data /usr/bin/.
bash: /usr/bin/rdoc-data: /usr/local/bin/ruby: bad interpreter: Permission deniedというエラーが発生する。
そこで rdoc-data の中身をみると、6行からなる単なるrubyスクリプトである:
#!/usr/local/bin/ruby -w一行目のrubyのパスが間違っている。このため、rdoc-dataの一行目を以下のように、修正する:
require 'rubygems'
require 'rdoc/data'
RDoc::Data.run
#!/usr/local/bin/ruby -w
->#!/usr/bin/ruby -w
■4.rdoc-dataの実行
rdocインストール時のログの続き(rdoc-data --install)を実行する:
$ rdoc-data --install
$ gem rdoc --all --overwrite
Installing ri documentation for appengine-apis-0.0.16...
Installing ri documentation for appengine-apis-0.0.18...
Installing ri documentation for appengine-rack-0.0.9...
Installing ri documentation for appengine-rack-0.0.11...
Installing ri documentation for appengine-sdk-1.3.4...
Installing ri documentation for appengine-sdk-1.3.5...
Installing ri documentation for appengine-tools-0.0.13...
Installing ri documentation for appengine-tools-0.0.15...
Installing ri documentation for bundler08-0.8.5...
Installing ri documentation for google-appengine-0.0.13...
Installing ri documentation for google-appengine-0.0.15...
Installing ri documentation for jruby-jars-1.4.1...
Installing ri documentation for jruby-jars-1.5.1...
Installing ri documentation for jruby-rack-1.0.1...
Installing ri documentation for mechanize-1.0.0...
Installing ri documentation for nokogiri-1.4.4...
Installing ri documentation for rack-1.1.0...
Installing ri documentation for rdoc-2.5.11...
Installing ri documentation for rdoc-data-2.5.3...
Installing ri documentation for rubygems-update-1.3.7...
Installing ri documentation for rubyzip-0.9.4...
Installing RDoc documentation for appengine-apis-0.0.16...
Installing RDoc documentation for appengine-apis-0.0.18...
Installing RDoc documentation for appengine-rack-0.0.9...
Installing RDoc documentation for appengine-rack-0.0.11...
Installing RDoc documentation for appengine-sdk-1.3.4...
Installing RDoc documentation for appengine-sdk-1.3.5...
Installing RDoc documentation for appengine-tools-0.0.13...
Installing RDoc documentation for appengine-tools-0.0.15...
Installing RDoc documentation for bundler08-0.8.5...
Installing RDoc documentation for google-appengine-0.0.13...
Installing RDoc documentation for google-appengine-0.0.15...
Installing RDoc documentation for jruby-jars-1.4.1...
Installing RDoc documentation for jruby-jars-1.5.1...
Installing RDoc documentation for jruby-rack-1.0.1...
Installing RDoc documentation for mechanize-1.0.0...
Installing RDoc documentation for rack-1.1.0...
Installing RDoc documentation for rdoc-2.5.11...
Installing RDoc documentation for rdoc-data-2.5.3...
Installing RDoc documentation for rubygems-update-1.3.7...
Installing RDoc documentation for rubyzip-0.9.4...
■5.gemインストールの確認
$ gem which rdoc
/cygdrive/d/home/gems/rdoc-2.5.11/lib/rdoc.rb
$ gem which rdoc-data
ERROR: Can't find ruby library file or shared library rdoc-data
$ gem listgem whichで、rdoc-dataが表示されないのは、データだからだろ・・・おそらく。
*** LOCAL GEMS ***
appengine-apis (0.0.18, 0.0.16)
appengine-rack (0.0.11, 0.0.9)
appengine-sdk (1.3.5, 1.3.4)
appengine-tools (0.0.15, 0.0.13)
bundler08 (0.8.5)
google-appengine (0.0.15, 0.0.13)
jruby-jars (1.5.1, 1.4.1)
jruby-rack (1.0.1)
mechanize (1.0.0)
nokogiri (1.4.4)
rack (1.1.0)
rdoc (2.5.11)
rdoc-data (2.5.3)
rubygems-update (1.3.7)
rubyzip (0.9.4)
■6.rdocドキュメントの確認
rdocドキュメントは、GEMのホームディレクトリ/doc/ 配下に入っている
$ gem which mechanize
/cygdrive/d/home/cygwin/gems/mechanize-1.0.0/lib/mechanize.rb
$ gem which rack
/usr/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack.rb
である場合、rdocはそれぞれ
/cygdrive/d/home/cygwin/doc/mechanize-1.0.0/rdoc/に格納される。
/usr/lib/ruby/gems/1.8/doc/rack-1.1.0/rdoc/
実際のファイルを確認してみよう。
$ ls -l /cygdrive/d/home/cygwin/doc/mechanize-1.0.0/rdoc/
total 348
-rw-r--r--+ 1 **** ???? 38689 2010-12-07 11:03 CHANGELOG_rdoc.html
-rw-r--r--+ 1 **** ???? 13592 2010-12-07 11:03 EXAMPLES_rdoc.html
-rw-r--r--+ 1 **** ???? 8523 2010-12-07 11:03 FAQ_rdoc.html
-rw-r--r--+ 1 **** ???? 14771 2010-12-07 11:03 GUIDE_rdoc.html
-rw-r--r--+ 1 **** ???? 27080 2010-12-07 11:03 LICENSE_rdoc.html
-rw-r--r--+ 1 **** ???? 15940 2010-12-07 11:03 Manifest_txt.html
drwxr-xr-x+ 1 **** ???? 0 2010-12-07 11:03 Mechanize/
-rw-r--r--+ 1 **** ???? 123205 2010-12-07 11:03 Mechanize.html
drwxr-xr-x+ 1 **** ???? 0 2010-12-07 11:03 Net/
-rw-r--r--+ 1 **** ???? 9274 2010-12-07 11:03 Net.html
-rw-r--r--+ 1 **** ???? 10455 2010-12-07 11:03 README_rdoc.html
-rw-r--r--+ 1 **** ???? 10620 2010-12-07 11:03 WWW.html
-rw-r--r--+ 1 **** ???? 3589 2010-12-07 11:03 created.rid
drwxr-xr-x+ 1 **** ???? 0 2010-12-07 11:03 images/
-rw-r--r--+ 1 **** ???? 38368 2010-12-07 11:03 index.html
drwxr-xr-x+ 1 **** ???? 0 2010-12-07 11:03 js/
drwxr-xr-x+ 1 **** ???? 0 2010-12-07 11:03 lib/
-rw-r--r--+ 1 **** ???? 12560 2010-12-07 11:03 rdoc.css
参考までに、rackパッケージのものも
$ ls -l /usr/lib/ruby/gems/1.8/doc/rack-1.1.0/rdoc/
total 176
drwxr-xr-x+ 1 **** ???? 0 2010-12-07 11:04 FCGI/
-rw-r--r-- 1 **** ???? 9421 2010-12-07 11:04 FCGI.html
-rw-r--r-- 1 **** ???? 9264 2010-12-07 11:04 KNOWN-ISSUES.html
-rw-r--r-- 1 **** ???? 29728 2010-12-07 11:04 README.html
drwxr-xr-x+ 1 **** ???? 0 2010-12-07 11:04 Rack/
-rw-r--r-- 1 **** ???? 31164 2010-12-07 11:04 Rack.html
-rw-r--r-- 1 **** ???? 19074 2010-12-07 11:04 SPEC.html
-rw-r--r-- 1 **** ???? 3334 2010-12-07 11:04 created.rid
drwxr-xr-x+ 1 **** ???? 0 2010-12-07 11:04 images/
-rw-r--r-- 1 **** ???? 46651 2010-12-07 11:04 index.html
drwxr-xr-x+ 1 **** ???? 0 2010-12-07 11:04 js/
drwxr-xr-x+ 1 **** ???? 0 2010-12-07 11:04 lib/
-rw-r--r-- 1 **** ???? 12560 2010-12-07 11:04 rdoc.css
■References
http://docs.rubygems.org/read/chapter/11
■余談
ところで、なぜか gem list したときにまだ、
cygwin warning:と出る場合があるんだよね…もう一度同じコマンド実行すると、出なかったり。
MS-DOS style path detected: C:\Documents and Settings\All Users\Application Data/gemrc
Preferred POSIX equivalent is: /cygdrive/c/Documents and Settings/All Users/Application Data/gemrc
まだなにかそんな項目を使っている設定が残っている…?
ラベル:
bad interpreter,
CT-技術,
cygwin,
Gem,
mechanize ruby,
rdoc-data,
ruby,
win,
XP
2010年12月2日木曜日
Cygwin上のruby環境でgithubとgist, gistyの環境を整えてみた
■問題点
例によって、躓きまくりました。
- nokogiriのgemインストールができない。
- gistyのgemインストールができない。
■解決法
時間のない人のために、最初に、今回試した手順のまとめを示します:
- Cygwinのライブラリ(lib*)のインストール(gistyに必要とされるもの)
Cygwinのインストーラ:setup.exeで、libxml2, libxslt, libiconv, (+libiconv2) をインストール。 - gemの設定1(環境変数GEM_HOME, APPDATA)
export GEM_HOME="/cygdrive/your/gem/home"
export APPDATA="${GEM_HOME}" - gemの設定2(gemの取得先の設定追加)
$ gem sources -a http://gems.github.com/ - gemインストール1(nokogiri)
$ gem install nokogiri - gemインストール2(gisty)
$ gem install swdyh-gisty - gistyの設定(GISTY_DIR)
export GISTY_DIR="${HOME}/your/gisty/directory" - githubの設定(SSH公開鍵の登録)
github.comにログインし
アカウントの設定>アカウントの概要>SSH公開鍵
にて、登録。 - gitのローカル環境の設定(githubのidとAPIトークン)
git config --global github.user your_id
git config --global github.token your_APItoken - gistyの設定(パスの通ったディレクトリにコピー)
cd /cygdrive/${GEM_HOME}/gems/swdyh-gisty-0.0.14/bin
cp -i gisty /usr/bin/.
●gemインストール1
$ gem install nokogiri
Building native extensions. This could take a while...
ERROR: Error installing nokogiri:
ERROR: Failed to build gem native extension.
/usr/bin/ruby.exe extconf.rb
checking for libxml/parser.h... yes
checking for libxslt/xslt.h... yes
checking for libexslt/exslt.h... yes
checking for iconv_open() in iconv.h... no
checking for iconv_open() in -liconv... yes
checking for xmlParseDoc() in -lxml2... yes
checking for xsltParseStylesheetDoc() in -lxslt... yes
checking for exsltFuncRegister() in -lexslt... yes
checking for xmlFirstElementChild()... yes
checking for xmlRelaxNGSetParserStructuredErrors()... yes
checking for xmlRelaxNGSetParserStructuredErrors()... yes
checking for xmlRelaxNGSetValidStructuredErrors()... yes
checking for xmlSchemaSetValidStructuredErrors()... yes
checking for xmlSchemaSetParserStructuredErrors()... yes
creating Makefile
/usr/lib/ruby/1.8/mkmf.rb:1322: warning: global variable `$preload' not initiali
zed
make
Makefile:119: *** target pattern contains no `%'. Stop.
Gem files will remain installed in d:/home/gems/nokogiri-1.4.4 for inspection.
Results logged to /cygdrive/d/home/gems/nokogiri-1.4.4/ext/nokogiri/gem_make.out
エラーログからは、なにが悪いのかさっぱり分からない。そこで、エラーメッセ
ージをぐぐってみる。
http://stackoverflow.com/questions/1225703/cant-build-gem-native-extension-build-fails-can-you-see-why
どうやら、Cygwin環境のライブラリを再インストールする必要があるようだ。。。
●足りないと思われるライブラリ
上記gemエラーログから、想像したライブラリ名は以下の通り:
- ?libxml
- libxml2
- libxslt
- ?libexslt
- libiconv
- (+iconv2)
��は、存在しないようだった。
Cygwinのインストーラ:setup.exe を使って、上記をReinstallした。
次に再度、gemのインストールを試す。
●再度gemインストール
また失敗。
$ gem install nokogiri
cygwin warning:
MS-DOS style path detected: C:\Documents and Settings\All Users\Application Data/gemrc
Preferred POSIX equivalent is: /cygdrive/c/Documents and Settings/All Users/Application Data/gemrc
CYGWIN environment variable option "nodosfilewarning" turns off this warning.
Consult the user's guide for more details about POSIX paths:
http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
Building native extensions. This could take a while...
ERROR: Error installing nokogiri:
ERROR: Failed to build gem native extension.
/usr/bin/ruby.exe extconf.rb
checking for libxml/parser.h... yes
checking for libxslt/xslt.h... yes
checking for libexslt/exslt.h... yes
checking for iconv_open() in iconv.h... no
checking for iconv_open() in -liconv... yes
checking for xmlParseDoc() in -lxml2... yes
checking for xsltParseStylesheetDoc() in -lxslt... yes
checking for exsltFuncRegister() in -lexslt... yes
checking for xmlFirstElementChild()... yes
checking for xmlRelaxNGSetParserStructuredErrors()... yes
checking for xmlRelaxNGSetParserStructuredErrors()... yes
checking for xmlRelaxNGSetValidStructuredErrors()... yes
checking for xmlSchemaSetValidStructuredErrors()... yes
checking for xmlSchemaSetParserStructuredErrors()... yes
creating Makefile
/usr/lib/ruby/1.8/mkmf.rb:1322: warning: global variable `$preload' not initiali
zed
make
Makefile:119: *** target pattern contains no `%'. Stop.
Gem files will remain installed in d:/home/gems/nokogiri-1.4.4 for inspection.
Results logged to /cygdrive/d/home/gems/nokogiri-1.4.4/ext/nokogiri/gem_make.out
似たようなエラーメーセージだが、若干違うのは”MS-DOSスタイルのパス”が云々
というところ。知らない環境変数が参照されていると見当をつけ、
set | grep -i "パス"
してみた。すると、APPDATAという変数に上記ディレクトリが設定されている
●gemの設定(環境変数)
以前、GEM_HOMEを設定したが、ActiveScriptRubyのためであった。今設定しよう
としているのは、Cygwin上のRubyのためのものである。既存の設定だと、
GEM_HOMEは、ActiveScriptRubyのための環境変数の設定値(当然、こちらはWin
形式のディレクトリ名)となっており、Cygwinとバッティングする。
また、環境変数APPDATAも、gemから同様な参照をされる。gemは、APPDATAの設定
値(ディレクトリ)からも、gemrcを読もうとしている。
だから、Cygwin上のRuby環境においては、Bashの環境変数:
GEM_HOME, APPDATA両方の設定を、POSIX形式で、行う必要がある;
これらの値の設定を.profileまたは.bashrcにでも書いておけばよかろう。
以下のようにした:
export GEM_HOME="/cygdrive/d/home"
export APPDATA="${GEM_HOME}"
ふー。
もう一度、gemのインストールから・・・(ヽ´ω`)。。。
●nokogiri のインストール
$ gem install nokogiri
Building native extensions. This could take a while...
Successfully installed nokogiri-1.4.4
1 gem installed
/usr/lib/ruby/1.8/rdoc/parsers/parse_c.rb:204: warning: method redefined; discar
ding old progress
Installing ri documentation for nokogiri-1.4.4...
No definition for get_options
No definition for set_options
No definition for parse_memory
No definition for parse_file
No definition for parse_with
Installing RDoc documentation for nokogiri-1.4.4...
No definition for get_options
No definition for set_options
No definition for parse_memory
No definition for parse_file
No definition for parse_with
インストールできたようだ。
次にgistyのgemをインストールする。
●swdyh-gisty のインストール
$ gem sources -a http://gems.github.com/
$ gem install swdyh-gisty
/usr/lib/ruby/site_ruby/1.8/rubygems/dependency.rb:88: warning: instance variable @prerelease not initialized
/usr/lib/ruby/site_ruby/1.8/rubygems/dependency.rb:88: warning: instance variable @prerelease not initialized
Successfully installed swdyh-gisty-0.0.14
1 gem installed
/usr/lib/ruby/1.8/rdoc/parsers/parse_c.rb:204: warning: method redefined; discarding old progress
Installing ri documentation for swdyh-gisty-0.0.14...
Installing RDoc documentation for swdyh-gisty-0.0.14...
/usr/lib/ruby/1.8/rdoc/generators/html_generator.rb:1103: warning: too many arguments for format string
/usr/lib/ruby/1.8/rdoc/generators/html_generator.rb:1103: warning: too many arguments for format string
/usr/lib/ruby/1.8/rdoc/generators/html_generator.rb:1103: warning: too many arguments for format string
/usr/lib/ruby/1.8/rdoc/generators/html_generator.rb:1103: warning: too many arguments for format string
/usr/lib/ruby/1.8/rdoc/generators/html_generator.rb:1103: warning: too many arguments for format string
/usr/lib/ruby/1.8/rdoc/generators/html_generator.rb:1103: warning: too many arguments for format string
/usr/lib/ruby/1.8/rdoc/generators/html_generator.rb:1103: warning: too many arguments for format string
/usr/lib/ruby/1.8/rdoc/generators/html_generator.rb:1103: warning: too many arguments for format string
/usr/lib/ruby/1.8/rdoc/generators/html_generator.rb:1103: warning: too many arguments for format string
/usr/lib/ruby/1.8/rdoc/generators/html_generator.rb:1103: warning: too many arguments for format string
/usr/lib/ruby/1.8/rdoc/generators/html_generator.rb:1103: warning: too many arguments for format string
/usr/lib/ruby/1.8/rdoc/generators/html_generator.rb:1103: warning: too many arguments for format string
/usr/lib/ruby/1.8/rdoc/generators/html_generator.rb:1103: warning: too many arguments for format string
/usr/lib/ruby/1.8/rdoc/generators/html_generator.rb:1103: warning: too many arguments for format string
/usr/lib/ruby/1.8/rdoc/generators/html_generator.rb:1103: warning: too many arguments for format string
/usr/lib/ruby/1.8/rdoc/generators/html_generator.rb:1103: warning: too many arguments for format string
ドキュメント関連のwarningが出るが、インストールできたようだ。
■gistyの設定(GISTY_DIR)
適当なディレクトリを用意しましょう。このディレクトリに、gistyは
GISTY_DIRは、.bashrcに書
いておけばよいでしょう。
export GISTY_DIR="${HOME}/your/directory"
■githubの設定(SSH公開鍵の登録)
ssh-keygenを使って、公開鍵と秘密鍵を生成する。
次に、githubに生成した公開鍵を登録する。登録は、githubにログインして、
アカウントの設定>アカウントの概要>SSH公開鍵から行います。
手順の詳細は、
コピペするときに、改行が入らないように気をつけること。改行が入ってしまっ
たら、消してください。
公開鍵を登録し終わったら、ちゃんと登録できたかテスト。テストは以下のよう
な感じで:
$ ssh -T git@github.com
Enter passphrase for key '/home/masa/.ssh/id_rsa':
ERROR: Hi mephistobooks! You've successfully authenticated, but GitHub does not
provide shell access
"successfully authenticated"されれば、オッケイ。
■gitの設定(idとAPIトークン)
APIトークンは、github.com/account の
アカウントの設定>アカウントの概要>アカウントの管理>APIトークン
に表示されます。
下記のコマンドで、githubのidとAPIトークンを設定しましょう。
git config --global github.user your_id
git config --global github.token your_APItoken
■gistyの設定(パスの通ったディレクトリにコピー)
なぜなんだか、gem installしても/usr/bin/に、gistyがコピーされませんでした。
なので仕方なく手で、ディレクトリ:
/cygdrive/${GEM_HOME}/gems/swdyh-gisty-0.0.14/bin から、
cp -i gisty /usr/bin/.
した。
ふー。
■References
・README.rdoc -gisty
https://github.com/swdyh/gisty
・gistコマンドよりちょっと便利なgisty
http://d.hatena.ne.jp/swdyh/20081207/1228655198
・Gistyインストールから利用までの道のりメモ
http://d.zeromemory.info/2009/01/05/install-gisty.html
・Generating SSH keys (Win/msysgit)
http://help.github.com/msysgit-key-setup/
・WindowsでのGit環境構築とその注意点
http://sourceforge.jp/magazine/09/02/12/0530242
2010年11月29日月曜日
Cywin上のRuby環境でgitの環境を整えてみた
これらのサイト
http://sourceforge.jp/magazine/09/02/12/0530242
http://www8.atwiki.jp/git_jp/pub/git-manual-jp/Documentation/gittutorial.html
を参考にした。
もともと、Cygwin環境自体は構築済みなので、Cygwinのsetup.exeで、
しかし、ちょっと凝ったことしようとすると、Windowsがメインを前提とすると、途端にめんどくささが上がってしまう。。。
漢字コードやらなにやらで。ま、当ブログではマゾヒスティックに、Win環境にも関わっていきます。
http://sourceforge.jp/magazine/09/02/12/0530242
http://www8.atwiki.jp/git_jp/pub/git-manual-jp/Documentation/gittutorial.html
を参考にした。
もともと、Cygwin環境自体は構築済みなので、Cygwinのsetup.exeで、
- git
- git-completion
- git-gui
- git-svn
- subversion-perl
- lv
しかし、ちょっと凝ったことしようとすると、Windowsがメインを前提とすると、途端にめんどくささが上がってしまう。。。
漢字コードやらなにやらで。ま、当ブログではマゾヒスティックに、Win環境にも関わっていきます。
8月末からPVががくっと落ちていた件
以前書いていた件だけども、原因は単純で:
これは、時期的に考えて、SyntaxHilighterを導入した際に、発生したと思われる。。。が、自分じゃ消した覚えが無いんですよね。
これ以外にも、seesaaブログでは
いままで、
ちなみに、それぞれのメリット・デメリットは
テンプレートから、Googleアナリティクスのコードが消えていたこと
であった。いやはや。これは、時期的に考えて、SyntaxHilighterを導入した際に、発生したと思われる。。。が、自分じゃ消した覚えが無いんですよね。
これ以外にも、seesaaブログでは
消したコードが復活していたりするなど
不審な動作を何回か経験しているのだが、どうしたもんか・・・いままで、
- はてな
- seesaa
- fc2
ちなみに、それぞれのメリット・デメリットは
- はてな:+エントリを書きやすい。-アフィリエイトしにくい
- seesaa:+アフィリエイトしやすい -エントリを書きにくい。(とくにHTMLで書くとき、最悪)
- fc2: -あんまり使わなかったけど、検索ヒットしにくい・・・?
2010年10月21日木曜日
GAE: Windows環境でRubyをつかったGoogle App Engine開発環境導入まとめとコマンドヘルプ
■本稿の目的
Googleによる App Engine のチュートリアルは、とてもわかり易く、手順をシンプルに追った記述となっている。これにより、PythonまたはJavaを使ったGAEの開発の最低限の方法について、知ることができる。
しかしながら、このチュートリアルでは、以下のような難点がある:
- Rubyの環境については触れられていない
- 開発用のコマンドの詳細の説明については、省かれている
- 手順を丁寧に追っているため、記述に若干冗長な感がある
加えて、ネット上の情報を見ると、それらのほとんどはLinuxベースの環境であって、Windows+Ruby環境でのGAE開発に触れた情報は少ない(Googleでキーワード「GAE Ruby Windows dev_appserver appcfg」で検索すると、実際のページ総数はたかだか「
約 244 件中 3 ページ目 (0.24 秒)
」件である)。そこで、本稿は:
- Windows環境(ActiveScriptRuby)
- RubyをつかったGAE開発
- Googleのチュートリアルより記述を簡潔に
- ただし開発用コマンドの説明は詳細まで行う
という方針で、App Engineを利用した開発の手始めについてまとめた。
■凡例
本稿の表記 Googleのチュートリアルの表記、または本稿が想定する環境等
GAEアプリ App Engineアプリケーション GAE SDK App Engineソフトウェア開発キット GAEリモート動作環境 Googleによって提供されているApp Engine (Python|Java|etc...) ランタイム 環境。 GAEローカル環境 GAEのソースの記述、ローカルWebサーバーでテストなどをおこなうGAEリモー ト動作環境の外、すなわちあなたのPCなどのこと。 GAEアプリID GAEアプリのための任意のID GAE開発用コマンド 核となるコマンド: dev_server.rb, appcfg.rb をいう。
■Google App Engineとは
App Engineとは:
- メールサービス
- Webサーバー・インタフェース
Webアプリ
Webアプリ・開発用コンソール http://(localhost:xxxx|appid.appspot.com)/_ah/admin
(上記Webアプリは、GAEアプリとしての特徴を有する) - ストレージ
を有する、Googleによるサービスの総体のことである。
これらのサービスを使って、ユーザによりGAE SDKを使って開発されるものを、本稿では、GAEアプリと呼ぶ。
GAEアプリを開発、実行する環境は、2つあり:
GAEリモート動作環境、
GAEローカル環境
とよぶ。
■RubyのGoogle App Engine環境
本稿では、単にApp Engineを導入するのでなくて、Rubyを用いた環境を導入する
ことを想定している。実際には、Javaの環境をベースに JRubyを介して、Rubyを
利用する形となる(一般的に提供されている、PythonやJavaによる環境ではない
��。
このRubyを利用するための環境は、 gem形式でGoogleが用意してくれている。
■GAEアプリ開発の一連の流れを簡潔に述べる
チュートリアルの流れを、簡潔に表にまとめた。
ステップ | 用意するもの | 得られるもの | やること |
---|---|---|---|
1.GAE開発環境の用意 | GAE SDKのダウンロード作業 | GAEの開発環境 | Ruby用のGAE SDKをインストールする。 方法については、 前回の記事 を参照のこと。 |
2.GAEアプリのアカウントを登録 | Googleアカウント、 GAEアプリID、 SMSを受信できる携帯電話 | GAEアプリのURL(http://GAEアプリID.appspot.com/) | GAEアプリのアカウント登録サイトで、必要とされる情報を入力する※。 |
3.GAEローカル環境でのGAEアプリの開発 | ソースコード | GAEアプリ | GAEアプリのソースコードを記述する。 |
4.GAEリモート動作環境へのアップロード | GAEアプリ、 アップロード・コマンドの実行( appcfg.rb )、GoogleアカウントのIDとパスワード | GAEリモート動作環境でのGAEアプリの起動 | アップロード・コマンドを実行し、GAEリモート動作環境にアップロードする。 |
※ステップ2の注意
SMSの登録内容について。電話番号の表記の仕方(81を含むのかそうでないか)、メ
ールアドレスかイマイチ判然としない。何度か試しているうちに、Googleか
らSMSが来たため、どれが正しいかわからなかった。
このサイト
でも、同様の事例をまとめているようだ。
Googleから送信されるSMSには、"Google App Engine Code: xxxxxxx"(xは数
字)という内容で、これがGoogleの GAEアカウント認証サイトによって認証
される必要がある。(当方は、ドコモの携帯電話で2010年 9月に行った。)
■GAE開発用コマンドについて
GAE SDKのをインストールすると、チュートリアルに紹介されているコマンド:
dev_appserver.rb
, appcfg.rb
が、ディレクトリ: %RUBY_HOME%\bin\
などに、格納される(実際には、BATファイルからなる複数のスクリプトから構成されるが、本稿で
はここのスクリプトについての説明は割愛する)。
◆概要
●dev_appserver.rb
開発用のローカルWebサーバー兼GAEローカル環境でのGAEアプリのランチャ。
使い方:
dev_appserver.rb [オプション] <warディレクトリ>
「warディレクトリ」にあるGAEアプリを、ローカル環境で起動する。
このローカルWebサーバーは、Googleアカウントをシミュレートしていて、独自
のログイン、ログアウト画面を有する。
●appcfg.rb
GAEアプリの管理コマンド
使い方:
D:/PROGRA~1/ruby-1.8/bin/appcfg.rb [options] <action> <app-dir> [<output-file>]
管理とは、以下のことを指す:
- ランタイム環境へのGAEアプリのアップロード
- index.yamlの更新・削除
- スケジュール・タスクの管理
- スケジュール・タスクの管理
- ランタイム環境へのデータのアップロード
http://code.google.com/intl/ja/appengine/docs/python/tools/uploadinganapp.html
◆GAE開発用コマンドの詳細説明
●dev_appserver.rb
開発用のローカルWebサーバー兼GAEローカル環境でのGAEアプリのランチャ。
使い方:
<dev-appserver> [options] <war directory>
※--help オプション時も、<war directory>指定が必要
オプション:
--help, -h このヘルプメッセージを表示して終了。 --server=SERVER -s SERVER 最新のSDKバージョンを判別に使用するサーバの指定。 --address=ADDRESS -a ADDRESS WebサーバーがバインドするローカルPC上のインタフェースのアドレスの指 定(もしくは、0.0.0.0 で全てのインタフェース)。 --port=PORT -p PORT WebサーバーがバインドするローカルPC上のポート番号の指定。 --sdk_root=root 格納されているSDKでオーバーライドする場合のSDK格納ディレクトリの指定。 --disable_update_check 最新のSDKバージョンのチェックを無効に指定。
例:
D:\Program Files\ruby-1.8\usr\local\sinatra_test>dev_appserver.rb --help . D:/Program Files/ruby-1.8/lib/ruby/gems/1.8/gems/appengine-tools-0.0.15/lib/appengine-tools/boot.rb:50: warning: `*' interpreted as argument prefix => Skipping update check => Booting DevAppServer => Press Ctrl-C to shutdown server Usage: <dev-appserver> [options] <war directory> Options: --help, -h Show this help message and exit. --server=SERVER The server to use to determine the latest -s SERVER SDK version. --address=ADDRESS The address of the interface on the local machine -a ADDRESS to bind to (or 0.0.0.0 for all interfaces). --port=PORT The port number to bind to on the local machine. -p PORT --sdk_root=root Overrides where the SDK is located. --disable_update_check Disable the check for newer SDK versions.
●appcfg.rb
GAEアプリの管理コマンド。
使い方:
D:/PROGRA~1/ruby-1.8/bin/appcfg.rb [options] <action> <app-dir> [<output-file>]
アクション:
<action>は、以下のうちいずれか 1つである必要がある:
help あるアクションのヘルプを出力する request_logs リクエスト・ログをApache共通ログ形式で出力する。 rollback 処理中の更新をロールバックする。 update 新しいバージョンのGAEアプリに更新、あるいは新規作成する。 update_indexes GAEアプリのインデックス(注)を更新する。 update_cron GAEアプリのcronジョブを更新する。 update_queues GAEアプリのタスク・キューの定義を更新する。 update_dos GAEアプリの対DoS保護の環境設定を更新する。 version バージョン情報を出力する。 cron_info cronジョブの次回の実行までの時間を表示する。 run ユーザーのGAEアプリ環境でjrubyを実行する。 bundle GAEリモート環境へのデプロイのために、ローカルのGAEアプリをパッケージングする。
'run' コマンドは、カレント・ディレクトリをGAEアプリのディレクトリと、みなします。
'help <action>' で、詳細の説明を見てください。
オプション:
-h, --help ヘルプを表示して終了。 -s SERVER, --server=SERVER 接続を行うサーバー。 -e EMAIL, --email=EMAIL 利用するユーザ名。省略時は入力待ちに。 -H HOST, --host=HOST 全てのRPCで送られるホストヘッダの上書き。 -p PROXYHOST[:PORT], --proxy=PROXYHOST[:PORT] 指定したプロクシ・サーバを介してリクエストをプロ する。 --proxy_httpsも指定した場合、HTTPだけがプロクシ され、そうでなければHTTPとHTTPSの両方がなされる。 --proxy_https=PROXYHOST[:PORT] HTTPSリクエストをプロクシするプロクシ・サーバ。 --sdk_root=root GAE SDKの格納場所を上書きする。 --passin 標準入力からログイン・パスワードを読む。 --insecure 管理コンソールとの通信ではHTTPSを使用しない。 --enable_jar_splitting 巨大なjarファイル(> 10M)を小さなファイルに分割する。 Split large jar files (> 10M) into smaller fragments. --jar_splitting_excludes=SUFFIXES --enable-jar-splitting が指定された場合、コンマ 区切りでSUFFIXESに指定された拡張子にマッチするファイルは、全ての jarファイルにおいて、分割から除外される。 When --enable-jar-splitting is set, files that match the list of comma separated SUFFIXES will be excluded from all jars. --retain_upload_dir GAEリモート環境へのアップロード時に使用した一時ディレクトリを残す。 Do not delete temporary directory used in uploading. --compile_encoding JSPをコンパイルするときに使用する文字エンコーディングの指定 The character encoding to use when compiling JSPs. -n NUM_DAYS, --num_days=NUM_DAYS ログデータを入手する日数の指定。カットオフ・ポイントは、UTCで12時 である。できるだけ全てのログを得る場合は 0 を指定する。デフォルト 値は 1 である。 Number of days worth of log data to get. The cut-off point is midnight UTC. Use 0 to get all available logs. Default is 1. --severity=SEVERITY ? アプリレベルログメッセージのシビア度の指定。範囲は 0 (DEBUG) から 4 (CRITICAL)である。 Severity of app-level log messages to get. The range is 0 (DEBUG) through 4 (CRITICAL). If omitted, only request logs are returned. -a, --append 既存のファイルに追記する。 -n NUM_RUNS, --num_runs=NUM_RUNS スケジュールされた計算するための実行時間の数 Number of scheduled execution times to compute
例:
D:\Program Files\ruby-1.8\usr\local\sinatra_test>appcfg.rb --help D:/Program Files/ruby-1.8/lib/ruby/gems/1.8/gems/appengine-tools-0.0.15/lib/appe ngine-tools/appcfg.rb:51: warning: `*' interpreted as argument prefix D:/Program Files/ruby-1.8/lib/ruby/gems/1.8/gems/appengine-tools-0.0.15/lib/appe ngine-tools/boot.rb:50: warning: `*' interpreted as argument prefix usage: D:/PROGRA~1/ruby-1.8/bin/appcfg.rb [options] <action> <app-dir> [<output- file>] Action must be one of: help: Print help for a specific action. request_logs: Write request logs in Apache common log format. rollback: Rollback an in-progress update. update: Create or update an app version. update_indexes: Update application indexes. update_cron: Update application cron jobs. update_queues: Update application task queue definitions. update_dos: Update application DoS protection configuration. version: Prints version information. cron_info: Displays times for the next several runs of each cron job. run: run jruby in your application environment. bundle: package your application for deployment. The 'run' command assumes the app directory is the current directory. Use 'help <action>' for a detailed description. options: -h, --help ? ? ? ? ? ?Show the help message and exit. -s SERVER, --server=SERVER ? ? ? ? ? ? ? ? ? ? ? The server to connect to. -e EMAIL, --email=EMAIL ? ? ? ? ? ? ? ? ? ? ? The username to use. Will prompt if omitted. -H HOST, --host=HOST ?Overrides the Host header sent with all RPCs. -p PROXYHOST[:PORT], --proxy=PROXYHOST[:PORT] ? ? ? ? ? ? ? ? ? ? ? Proxies requests through the given proxy server. ? ? ? ? ? ? ? ? ? ? ? If --proxy_https is also set, only HTTP will be ? ? ? ? ? ? ? ? ? ? ? proxied here, otherwise both HTTP and HTTPS will. --proxy_https=PROXYHOST[:PORT] ? ? ? ? ? ? ? ? ? ? ? Proxies HTTPS requests through the given proxy server. --sdk_root=root ? ? ? Overrides where the SDK is located. --passin ? ? ? ? ? ? ?Always read the login password from stdin. --insecure ? ? ? ? ? ?Do not use HTTPS to communicate with the Admin Console. --enable_jar_splitting ? ? ? ? ? ? ? ? ? ? ? Split large jar files (> 10M) into smaller fragments. --jar_splitting_excludes=SUFFIXES ? ? ? ? ? ? ? ? ? ? ? When --enable-jar-splitting is set, files that match ? ? ? ? ? ? ? ? ? ? ? the list of comma separated SUFFIXES will be excluded ? ? ? ? ? ? ? ? ? ? ? from all jars. --retain_upload_dir ? ? ? ? ? ? ? ? ? ? ? Do not delete temporary directory used in uploading. --compile_encoding ? ? ? ? ? ? ? ? ? ? ? The character encoding to use when compiling JSPs. -n NUM_DAYS, --num_days=NUM_DAYS ? ? ? ? ? ? ? ? ? ? ? Number of days worth of log data to get. The cut-off ? ? ? ? ? ? ? ? ? ? ? point is midnight UTC. Use 0 to get all available ? ? ? ? ? ? ? ? ? ? ? logs. Default is 1. --severity=SEVERITY ? Severity of app-level log messages to get. The range ? ? ? ? ? ? ? ? ? ? ? is 0 (DEBUG) through 4 (CRITICAL). If omitted, only ? ? ? ? ? ? ? ? ? ? ? request logs are returned. -a, --append ? ? ? ? ?Append to existing file. -n NUM_RUNS, --num_runs=NUM_RUNS ? ? ? ? ? ? ? ? ? ? ? Number of scheduled execution times to compute
■TODO
- gem について
- App Engine の設定項目について
- GAE Ruby で使用されているRuby FWについて
登録:
投稿 (Atom)