Gist というサービスがあって、これは GitHub にプロジェクトとしてあげるまでもないけれど、Snippet 的なプログラムや、使いまわしの聞く関数などをちょこっと貼り付ける時に便利だ。
で、たまーに使うのだが、いちいち Webサイト開いてコード貼り付けるのも手間だしいい方法はないかと思ってたら、Gisty なるツールがあるらしいので、インストールしてみることにした。
その際、ちょっとインストールに手こずったので、ここにメモしておく。
利用環境は、VMWare – Ubuntu 8.0.4(hardy)。Ruby 環境無し。
まずは、公式にあるように、
$ gem install nokogiri $ gem install swdyh-gisty
するのだが、その前に gem をインストールする環境がないので、以下のコマンドでインストール。
$ sudo apt-get install rubygems
で、gem の取得先の追加として
gem sources -a http://gems.github.com
しようとしたのだが、
Bulk updating Gem source index for: http://gems.rubyforge.org
という表示のままやたらと時間がかかる。というか、20分ほど待っても帰ってこない。動作もすごく遅くなったので、free でメモリみたら、完全にメモリ食いつぶして swap いっぱいになってた。ググってみると同じような症状が出ている人がいたので、VM のメモリを 256M → 512M に変更。
すると今度は、すぐに更新完了。
でようやく nokogiri とやらをインストールしようとしたら何らかのエラーがでたので(メモるの忘れた)、rubygems 自身の update をすることにした。
$ gem update --system
すると今度は、update 自体がエラーになる。
/usr/bin/gem:23: uninitialized constant Gem::GemRunner (NameError)
これもまたググってみるとどんぴしゃなエントリが。なんかよくわからんが、とりあえず書いてあるままに、以下のようにファイルを編集。
$ vim /usr/bin/gem 10行目あたり(require 'rubygems' の下) + require 'rubygems/gem_runner'
これで update は完了。
$ gem -v $ 1.3.1
改めて nokogiri をインストールしようとして、さっきよりも進んだのだが、今度は以下のエラーが。
Building native extensions. This could take a while... ERROR: While executing gem ... (Gem::Installer::ExtensionBuildError) ERROR: Failed to build gem native extension. ruby extconf.rb install nokogiri extconf.rb:3:in `require': no such file to load -- mkmf (LoadError) from extconf.rb:3
どうやらこれは、makefile を作成する為のパッケージらしくて、これもまたググってみると ruby-dev 的なものを入れなければならないらしい。という訳で、以下のように。
$ sudo apt-get install ruby1.8-dev
で、nokogiri を(ry で、またしてもエラー。
ERROR: Error installing nokogiri: ERROR: Failed to build gem native extension. /usr/bin/ruby1.8 extconf.rb install nokogiri checking for xmlParseDoc() in -lxml2... yes checking for xsltParseStylesheetDoc() in -lxslt... no checking for exsltFuncRegister() in -lexslt... no checking for #include... yes checking for #include ... no need libxslt
まぁ、見るからにライブラリがないといってるので、以下のようにしてライブラリ追加。
$ sudo apt-get libxslt-dev
するとなんか怒られた。
libxslt-dev は以下のパッケージで提供されている仮想パッケージです: libxslt1-dev 1.1.22-1ubuntu1.2 インストールするパッケージを明示的に選択する必要があります。
という訳で、言われるがままにインストールしなおし。
$ sudo apt-get libxslt1-dev
これでやっと nokogiri のインストール成功。
$ sudo gem install nokogiri /usr/bin/gem:11:Warning: Gem::manage_gems is deprecated and will be removed on or after March 2009. Building native extensions. This could take a while... Successfully installed nokogiri-1.1.0 1 gem installed Installing ri documentation for nokogiri-1.1.0... Installing RDoc documentation for nokogiri-1.1.0...
続いて、Gisty をインストール。これはすんなり成功。
$ sudo gem install swdyh-gisty /usr/bin/gem:11:Warning: Gem::manage_gems is deprecated and will be removed on or after March 2009. Successfully installed swdyh-gisty-0.0.10 1 gem installed Installing ri documentation for swdyh-gisty-0.0.10... Installing RDoc documentation for swdyh-gisty-0.0.10...
これでやっと使える環境になった。実際に post する前に、初期設定が必要なのでそのようにする。
$ export GISTY_DIR="$HOME/dev/gisty" $ git config --global github.user your_id $ git config --global github.token your_token
この辺は、RCファイルに書くなり、.gitconfig に設定するなりしてもよい。
ここまで来てやっと目的のポスト。
$ gisty post filename
そうすると、このファイルを post すると同時に、先ほど export した GISTY_DIR に clone した状態にしてくれる。
$ gisty post use1.7.user.js Initialized empty Git repository in /home/suvene/dev/gisty/43073/.git/ remote: Counting objects: 3, done. remote: Compressing objects: 100% (2/2), done. remote: Total 3 (delta 0), reused 0 (delta 0) Receiving objects: 100% (3/3), done.
この、43073ってのが、gist の post の sequence で、この名前のディレクトリが、GISTY_DIR 以下に作成されている。(post したファイル自身はもういらない)
後は、普通に git を使うように利用するだけ。
便利なのは、
$ gisty sync
とするだけで、今までポストした内容も clone してくれるということ。
$ gisty list
とすると、実際のファイル名を見ることができるので、post番号?でわかりにくくても安心。
他の詳細なコマンドは、公式のページをみること。
以上、終わり。
Gisty 素晴らしス。
Links
– Gist – GitHub
– gistコマンドよりちょっと便利なgisty – SWDYH
– Big Sky :: Gistyで始めるGist/Githubのススメ
– Secure Git hosting and collaborative development – GitHub
Trouble shooting
– rubygemsが猛烈に重い on colinux – gnarl、技術メモ’”%s<marquee>¥
– Ubuntuでrubygemsを1.0.1にudpateしたら”uninitialized constant Gem::GemRunner(NameError)”のエラー – iビジネス&テクノロジー
Gist というサービスがあって、これは GitHub にプロジェクトとしてあげるまでもないけれど、Snippet 的なプログラムや、使いまわしの聞く関数などをちょこっと貼り付ける時に便利だ。
で、たまーに使うのだが、いちいち Webサイト開いてコード貼り付けるのも手間だしいい方法はないかと思ってたら、Gisty なるツールがあるらしいので、インストールしてみることにした。
その際、ちょっとインストールに手こずったので、ここにメモしておく。
利用環境は、VMWare – Ubuntu 8.0.4(hardy)。Ruby 環境無し。
まずは、公式にあるように、
$ gem install nokogiri $ gem install swdyh-gisty
するのだが、その前に gem をインストールする環境がないので、以下のコマンドでインストール。
$ sudo apt-get install rubygems
で、gem の取得先の追加として
gem sources -a http://gems.github.com
しようとしたのだが、
Bulk updating Gem source index for: http://gems.rubyforge.org
という表示のままやたらと時間がかかる。というか、20分ほど待っても帰ってこない。動作もすごく遅くなったので、free でメモリみたら、完全にメモリ食いつぶして swap いっぱいになってた。ググって見ると$ gem update --system
すると今度は、update 自体がエラーになる。 これもまたググってみるとどんぴしゃなエントリが。なんかよくわからんが、とりあえず書いてあるままに、以下のようにファイルを編集。 これで update は完了。 改めて nokogiri をインストールしようとして、さっきよりも進んだのだが、今度は以下のエラーが。 どうやらこれは、makefile を作成する為のパッケージらしくて、これもまたググってみると ruby-dev 的なものを入れなければならないらしい。という訳で、以下のように。 で、nokogiri を(ry で、またしてもエラー。 まぁ、見るからにライブラリがないといってるので、以下のようにしてライブラリ追加。 するとなんか怒られた。 という訳で、言われるがままにインストールしなおし。 これでやっと nokogiri のインストール成功。 続いて、Gisty をインストール。これはすんなり成功。 これでやっと使える環境になった。実際に post する前に、初期設定が必要なのでそのようにする。 この辺は、RCファイルに書くなり、.gitconfig に設定するなりしてもよい。 ここまで来てやっと目的のポスト。 そうすると、このファイルを post すると同時に、先ほど export した GISTY_DIR に clone した状態にしてくれる。 この、43073ってのが、gist の post の sequence で、この名前のディレクトリが、GISTY_DIR 以下に作成されている。(post したファイル自身はもういらない) 便利なのは、 とするだけで、今までポストした内容も clone してくれるということ。 とすると、実際のファイル名を見ることができるので、post番号?でわかりにくくても安心。 以上、終わり。 – Gist – GitHub – rubygemsが猛烈に重い on colinux – gnarl、技術メモ’”%s<marquee>¥ /usr/bin/gem:23: uninitialized constant Gem::GemRunner (NameError)
$ vim /usr/bin/gem
10行目あたり(require 'rubygems' の下)
+ require 'rubygems/gem_runner'
$ gem -v
$ 1.3.1
Building native extensions. This could take a while...
ERROR: While executing gem ... (Gem::Installer::ExtensionBuildError)
ERROR: Failed to build gem native extension.
ruby extconf.rb install nokogiri
extconf.rb:3:in `require': no such file to load -- mkmf (LoadError)
from extconf.rb:3
$ sudo apt-get install ruby1.8-dev
ERROR: Error installing nokogiri:
ERROR: Failed to build gem native extension.
/usr/bin/ruby1.8 extconf.rb install nokogiri
checking for xmlParseDoc() in -lxml2... yes
checking for xsltParseStylesheetDoc() in -lxslt... no
checking for exsltFuncRegister() in -lexslt... no
checking for #include
$ sudo apt-get libxslt-dev
libxslt-dev は以下のパッケージで提供されている仮想パッケージです:
libxslt1-dev 1.1.22-1ubuntu1.2
インストールするパッケージを明示的に選択する必要があります。
$ sudo apt-get libxslt1-dev
$ sudo gem install nokogiri
/usr/bin/gem:11:Warning: Gem::manage_gems is deprecated and will be removed on or after March 2009.
Building native extensions. This could take a while...
Successfully installed nokogiri-1.1.0
1 gem installed
Installing ri documentation for nokogiri-1.1.0...
Installing RDoc documentation for nokogiri-1.1.0...
$ sudo gem install swdyh-gisty
/usr/bin/gem:11:Warning: Gem::manage_gems is deprecated and will be removed on or after March 2009.
Successfully installed swdyh-gisty-0.0.10
1 gem installed
Installing ri documentation for swdyh-gisty-0.0.10...
Installing RDoc documentation for swdyh-gisty-0.0.10...
$ export GISTY_DIR="$HOME/dev/gisty"
$ git config --global github.user your_id
$ git config --global github.token your_token
$ gisty post filename
$ gisty post use1.7.user.js
Initialized empty Git repository in /home/suvene/dev/gisty/43073/.git/
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.
後は、普通に git を使うように利用するだけ。$ gisty sync
$ gisty list
他の詳細なコマンドは、公式のページをみること。
Gisty 素晴らしス。Links
– gistコマンドよりちょっと便利なgisty – SWDYH
– Big Sky :: Gistyで始めるGist/Githubのススメ
– Secure Git hosting and collaborative development – GitHub Trouble shooting
– Ubuntuでrubygemsを1.0.1にudpateしたら”uninitialized constant Gem::GemRunner(NameError)”のエラー – iビジネス&テクノロジー
– 諸々インストール – Fly me to the moon…(provisional)