カテゴリー : Mac

Mac OS X El Capitan にアップグレードしたら hub コマンドが動かなくなったけど brew upgrade hub したら解決した

Mac OS X El Capitan がリリースされてそれなりに時を経たので、会社で使ってる Mac も El Capitan へアップグレードしました。

タイトルで終わってますが El Capitan にアップグレードしたら hub コマンドが動かなくなったのですが brew upgrade hub したら解決したので、似たようなエラーに悩まされた方は brew upgrade するといいですよ。

hub コマンドのエラー事例

いつも通り hub コマンドで github の pull-request を作成しようと思ったら、見たことのないエラーが発生しました。

$ hub pull-request -h myGitHubRepo:`git symbolic-ref --short HEAD`
/usr/local/bin/hub:75:in `initialize': wrong number of arguments (9 for 1) (ArgumentError)
	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http.rb:1030:in `new'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http.rb:1030:in `proxy_uri'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http.rb:1017:in `proxy?'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http.rb:868:in `connect'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http.rb:862:in `do_start'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http.rb:851:in `start'
	from /usr/local/bin/hub:473:in `perform_request'
	from /usr/local/bin/hub:588:in `perform_request'
	from /usr/local/bin/hub:437:in `post'
	from /usr/local/bin/hub:371:in `create_pullrequest'
	from /usr/local/bin/hub:1760:in `pull_request'
	from /usr/local/bin/hub:1586:in `run'
	from /usr/local/bin/hub:2514:in `initialize'
	from /usr/local/bin/hub:2518:in `new'
	from /usr/local/bin/hub:2518:in `execute'
	from /usr/local/bin/hub:2569:in `<main>'

ネットで調べてみたところ 「hub のバージョンが古いと動かないので brew upgrade hub するといいよ」という内容を書いている isuue を見つけたのでそれ通り対応してみたら解決しました。

$ brew list | grep hub
hub
 
$ hub --version
git version 2.1.3
hub version 1.12.2
 
$ brew upgrade hub
==> Upgrading 1 outdated package, with result:
hub 2.2.3
==> Upgrading hub
==> Downloading https://homebrew.bintray.com/bottles/hub-2.2.3.el_capitan.bottle.tar.gz
######################################################################## 100.0%
==> Pouring hub-2.2.3.el_capitan.bottle.tar.gz
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
 
zsh completion has been installed to:
  /usr/local/share/zsh/site-functions
==> Summary
🍺  /usr/local/Cellar/hub/2.2.3: 9 files, 10.3M

OS アップグレードは何かしらハマりますね。

brew update で fatal: cannot create directory at ‘.github’: Permission denied というエラーが出たときの対応方法

Mac で brew update を実行したら、

$ brew update
fatal: cannot create directory at '.github': Permission denied
Error: Failure while executing: git pull -q origin refs/heads/master:refs/remotes/origin/master

というエラーメッセージが表示されたときの対応方法をご紹介します。

/usr/local ディレクトリの permission を変更

fatal: cannot create directory at ‘.github’: Permission denied というエラーメッセージが表示されるのは /usr/local ディレクトリの permission が無いのが原因です。

chown コマンドで所有者を自分に変更しましょう。

$ ls -la /usr/local
total 112
drwxr-xr-x   24 root     wheel    816 Oct 28 08:47 .
$ sudo chown $(whoami):admin /usr/local
$ ls -la /usr/local
total 112
drwxr-xr-x   24 myname  admin    816 Oct 28 08:47 .

Homebrew の GitHub repository を master へ更新

cd `brew --prefix`
git fetch origin
git reset --hard origin/master

最後に Homebrew をアップデート

$ brew update
$ brew -v
Homebrew 0.9.9 (git revision 145155; last commit 2016-04-23)
Homebrew/homebrew-core (git revision bd06; last commit 2016-04-23)

以上です。

[Mac] ionice コマンドをインストールする手順

Mac で ionice コマンドを使えるように、インストールする手順をご紹介します。

curl -O https://raw.github.com/elmarb/ionice/master/ionice.c
gcc ionice.c -o ionice
sudo install -o root -g wheel ionice  /usr/local/bin/

ionice コマンドを使うと、低負荷で大量なファイルを copy することができるようです。

Linux は便利なコマンドがたくさんあって奥深いですね。

参考情報

Mac で HDD や SSD のディスクスピードテストができるアプリ「Disk Speed Test」

カスタマーレビュー

起動できませんでした

レビュー : BLATAPI
OS 10.6.6以降をサポートしているとなっていますが 起動すらできませんでした。
当方 OS 10.6.8を使用しています。
ライブラリ(libc++.1.dylib)の読み込みエラーが原因ですが ちょっと調べたところ Appleのサポートが切れているっぽい?

旧いOSを使っているのでしょうがないですが残念でした。

SSDの寿命に悪影響かも。

レビュー : Hirojkovic
新しく購入したMacBookの性能を試そうとテスト実施。
いちおう1GBから5GBまで負荷容量を選べるのですが、
実際に5GBで試してみると延々とひたすら読み書きを続けます。
読み書き回数に制限のあるSSDではこれが命取りになりかねないので、
自分で計測をストップすることをおすすめします。

Thunderboltがいらないことを証明してくれた

レビュー : budoo
USB3.0の外付けSSDの検証に使用。
ReadもWriteも400MB/s出ていたので、Thunderboltを使うまでもないことが分かった。
まぁThunderboltならもっと出てるだろうけど、USB外付けケースを2000円せずに買えたことを考えると、費用対効果は薄いだろう。
iMac内蔵FusionDriveも検証したけど、そこまでは出てなかった。
SDカードに至っては10MB/sにも届かず…
無料でドライブ選択の迷いを払拭してくれたんだから、これ以上ありがたいことはない。

参考情報

[Mac App] タイマーアプリ「Alinof Timer」がシンプルで使いやすい

Mac 向けのタイマーアプリ「Alinof Timer」がシンプルで使いやすかったのでご紹介します。

タイマーの設定画面

タイマーの設定画面

タイマー動作時の画面

タイマー動作時の画面

社内 MTG の発表時間が1人当たり1分30秒と決められているのですが、それを計測するのに重宝しています。