Glide Note

glidenote's blog

VimからrbenvのRubyが呼び出せない問題が発生してハマった

Rubyスクリプトを書いていて、いつからかvimでquickrunから スクリプトを実行出来なくなってハマったのでメモ。
Linuxでは発生しなかったのでMacだけ発生する問題かもしれない。

起こっていた現象

  • quickrunを実行するとrequire': no such file to loadとかで怒られる。
  • ruby hogemoge.rbとかの場合は実行可能

開発環境

  • Mac Lion 10.7.4
  • zsh 4.3.11
  • rbenv(git clone git://github.com/sstephenson/rbenv.git .rbenvで導入してます)
  • vim 7.3.515
  • quickrun 0.6.0

原因

  • vimがシステム標準のRubyを呼んでいた(rbenvのRubyが呼ばれていなかった)
  • .zshenvに記載すべき設定を.zshrcに書いていた

下記のようにコマンドラインから呼ばれるRubyと、Vimから呼ばれるRubyが異なっていた。

解決方法

下記の設定を.zshrcから.zshenvに移行。

rbenvのドキュメントにも.zshenvに書くように書いてありますね…
動くからといって、手抜きで全部.zshrcに書いていてハマりました。
ググって見つけた情報を鵜呑みにせず、ちゃんと公式ドキュメントを読みましょうという話ですね。

追記

homebrew経由でrbenvを導入している場合は、eval "$(rbenv init -)" .zprofileに書かないといけない模様

参考URL

RVM で入れた Ruby を Vim の QuickRun プラグインで使う - Yarukidenized:ヤルキデナイズド

git-issueのzsh補完関数を作った(作っていた)

ようやく仕事でもGitHubが利用出来るようになりつつあり、結構前に作っていた 拙作のgit-issue用のzsh補完関数が役に立つ日がきたのでご紹介。

導入方法

当然ですが、git-issueが導入してある必要があります。

git cloneして$fpath配下に補完関数を配置。

1
2
3
4
5
mkdir ~/repos/
cd ~/repos/
git clone git://github.com/glidenote/git-issue-zsh-completion.git
sudo cp git-issue-zsh-completion/_git-issue /usr/share/zsh/site-functions/
exec zsh

使ってみた感じ。

私がGitHubしか利用しないため、GitHub用オプションしか補完しないので、 Redmine用オプションも補完したい場合は是非pull reqを。

社内SubversionリポジトリをGitHubへの移行中

6月に部署異動をし、自分の部署の社内SubversionリポジトリをGitHubに移行中。 ここ数日でいろいろと試行錯誤しながら作業をしているのでメモ。

Organizationの作成

自分のGithubアカウントでログインをして、Organizationを作成します。

  • Organization Nameはサービス名を利用
  • Organization Emailはサービスで利用しているメールアドレス。担当部署のみんなが受け取れるアドレスが良いかと思います。
  • Bronzeプラン($25/month)
  • クレジットカードの番号が必要になります。(会社のクレジットカード番号を入力)

Graveterに登録してアイコンを設定

Organizationのアイコンを設定するため、Gravatarの登録。 Organizationの作成の際に利用したアドレスで登録すると管理が楽かと思います。

登録が完了したら

必要があればOrganization ProfileのProfile Informationを更新。

Organizationメンバーの登録

Teamsでメンバーを登録します。チームごとに権限を割り振りしてメンバーを登録することもできます。

GitHubでOrganizationリポジトリの作成

Organizationで利用するリポジトリを作成。puppetとかyumとか、社内のRepository命名規則に従い作成。 hubを利用してコマンドラインからOrganizationのリポジトリが作れるかはまだ調べてないです

社内Subversionリポジトリをgit-svnでインポートしてGitHubにpush

同じチームの@tnmtに教えて貰って、 試しに下記みたいな感じでgit-svnを利用し、社内リポジトリからローカルにimportしGitHubにpush。
Macbook Airで作業をしたらpuppetマニフェストだけなのに1時間くらいかかって、ファンがフル回転…

1
2
3
4
5
mkdir -p ~/svn-to-github
git svn clone -s http://192.168.25.37/svn/server/puppet/hogemoge ~/svn-to-github/hogemoge-puppet/
cd ~/svn-to-github/hogemoge-puppet/
git remote add origin https://github.com/paperboy-hogemoge/puppet.git
git push -u origin master

こうすることで、Subversion時代のcommitログがGitHubでも閲覧可能でした。

とりあえずGitHubでPushまで出来るようになって移行手順の流れが掴めた。

自作のデプロイツールとかの改修が必要だったり、運用ルールを決めたり 完全移行までにはやらないといけないことが結構あって、 まだ時間がかかりそうだけどGitHubを使って仕事が出来るのでかなり快適になりそう。

参考

Octopressは_postsの下にディレクトリ切っても記事が生成される

Octopressでブログの記事を書いていると、octopress/source/_postsの下に 私のブログだと下記のような感じで

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
├── 2012-04-01-new-gist.vim.markdown
├── 2012-04-02-octoeditor.vim.markdown
├── 2012-04-03-subsonic-nginx.markdown
├── 2012-04-04-presentation-2012.markdown
├── 2012-04-05-install-ut-vpn-client.markdown
├── 2012-04-07-auto-fu.zsh.markdown
├── 2012-04-08-nginx.vim.markdown
├── 2012-04-09-keepalived-syntax.vim.markdown
├── 2012-04-11-mosh-on-sakura-vps.markdown
├── 2012-04-11-mosh-with-tmux.markdown
├── 2012-04-12-octopress-canonical-problem.markdown
├── 2012-04-14-mosh-hostname-completion.markdown
├── 2012-04-16-sheet.markdown
├── 2012-04-20-mysql-casucal-vol3.markdown
├── 2012-04-21-speaker-deck.markdown
├── 2012-04-23-etckeeper-bitbucket.markdown
├── 2012-04-24-bash-it.markdown
├── 2012-04-30-terminal-study-vol-2.markdown
├── 2012-05-03-zsh-completion.markdown
├── 2012-05-10-gitspective.markdown
├── 2012-05-11-ss-zsh-completion.markdown
├── 2012-05-12-eneloop-mobile-booster.markdown
├── 2012-05-13-kindle4.markdown
├── 2012-05-15-mosh-rpm.markdown
├── 2012-05-16-vim-ruby-homebrew.markdown
├── 2012-05-21-fluentd-nginx-mongodb.markdown
├── 2012-05-22-twitter-icon-sticker.markdown
├── 2012-05-25-bijogoyomi-2012-05-25.markdown
├── 2012-05-28-gollum-memolist.vim.markdown
└── 2012-05-30-manage-chrome-search-engine.markdown

markdownファイルが増えてきて、ファイルの管理が面倒だなと 思っていたんですが、~/octopress/source/_posts/2012/06/とか 下記のような感じで

1
2
3
4
5
├── 2012
│   └── 06
│       ├── 2012-06-05-pori.markdown
│       ├── 2012-06-07-pinboard-fu.markdown
│       └── 2012-06-10-octopress-post-directory.markdown

ディレクトリを切って、その下にmarkdownを作ってもページが生成されることに気づいた。

本当に大丈夫なのかOctopressのRakefileを見ると記事を生成するときは下記のような感じの処理をしていて

system "jekyll"を実行してページを生成している。
jekyllのソースをおってみたら jekyll/lib/jekyll/site.rb の部分で再帰的にディレクトリの探していることが分かる。

ブログの記事が多くなってきたら_posts/2012/06とかでディレクトリを切って 管理すると良い感じになる。

pinboard-fuとはてブのChrome拡張でブックマーク生活が捗る

ソーシャルブックマークをPinboardに移行してからかなり経つんですが、 @banyanさんがpinboardのChrome拡張を作ってくれてたのと pinboardをはてブのChrome拡張を組み合わせると、 ブックマーク生活がいろいろと捗ることに気づいたのでご紹介。

pinboardをはてブのChrome拡張を用いて閲覧したときの見た目。ひと目ではてブのブックマーク数も分かります。

pinboard-fuやRSSリーダ、twitter経由でとりあえずpinboardに気になるページを突っ込んでおけば あとはpinboardの高速な検索とはてブのChrome拡張で、捜し物もすぐに見つかっていろいろと捗ります。

twitterで気になるつぶやきをfavすると自動的にpinboardが捕捉してくれる機能がめちゃくちゃ便利です。

関連ページ