[gisty][Ubuntu]Gistyインストールから利用までの道のりメモ - suVeneのアレ

[gisty][Ubuntu]Gistyインストールから利用までの道のりメモ

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 自体がエラーになる。

/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ビジネス&テクノロジー はてなブックマーク数
諸々インストール – Fly me to the moon…(provisional) はてなブックマーク数

スポンサーリンク
スポンサーリンク

コメントをどうぞ

メールアドレスが公開されることはありません。