brew link エラー

Xcode 5.0.1 からコマンドラインツールのインストールが変更になったのかな? これまでだったら「環境設定」からインストールできていたのに出来なくなっていました。と、云うことでコマンドラインからインストール。

$ xcode-select --install

コマンドラインツールのインストール

このコマンドを実行すると「コマンドを実行するには、コマンドライン・デベロッパ・ツールが必要です。ツールを今すぐインストールしますか?」と聞いてくるので「インストール」ボタンを押してインストールを完了。

Xcode がアップデートされると毎回表示されるエラーメッセージ。

Warning: You have unlinked kegs in your Cellar Leaving kegs unlinked can lead to build-trouble and cause brews that depend on those kegs to fail to run properly once built. Run brew link on these:

git

リンクが切れてるよ! ってことなので $ brew link git を実行すると

Error: Could not symlink file: /usr/local/Cellar/git/1.8.4.3/bin/git-upload-pack Target /usr/local/bin/git-upload-pack already exists. You may need to delete it. To force the link and overwrite all other conflicting files, do: brew link --overwrite formula_name

To list all files that would be deleted: brew link --overwrite --dry-run formula_name

こんなエラーが出たので

$ brew link --overwrite git

とやって強制的に書き換えました。あとは $ brew doctor とやって先生に診てもらって異常がなければ大丈夫。

MacPortsをクリーニング

MacPortsで入れているソフトウェアをアップグレードしていくと、その残骸であるテンポラリファイルや古いバージョンで塵が積もるようにディスクスペースを圧迫してきます。たまにクリーニングしてあげることですっきりさせてあげましょう。

まずはディスクスペースをどれくらい使っているかの確認

du -sh /opt

次にテンポラリファイルの整理

sudo port clean –all installed

そして古いバージョンの整理

sudo port -f uninstall inactive

あまりソフトウェアを入れていない私の環境でも591M => 347Mに節約できることが出来ました。アップグレードの度にクリーニングを行っているのでこれくらいで収まっていると思います。

MacPortsのアップグレードでエラー

コマンドラインツールのインストールや更新に便利なパッケージ管理ソフト The MacPorts を使っている訳ですが、インストールされているコマンドツールが更新されていたのでアップグレードしたところ、いくつかのエラーが出てインストールされないものが出たのでした。

– cyrus-sasl2
– curl

この2つがエラーをはいてインストールされない。cyrus-sasl2 についてはエラー内容を読むと、アンインストールしてからインストールするように書かれていたので、その手順でやるとインストールできました。

$ sudo port -f uninstall cyrus-sasl2
$ sudo port install cyrus-sasl2

次に、curl なんですが、エラー内容を読んでもよくわからないので

$ sudo port clean curl
$ sudo port install curl

と実行したら、なんかうまくいったみたい。ふぅ〜、よかった。

rm コマンドでゴミ箱へ

うっかりミスで重要なドキュメントを削除。って、ことが頭にあるのでrmコマンドを使用する際には慎重に行っています。よくmvコマンドとrmコマンドを打ち間違うことがあるので、オプション-iを付けて対処していました。rm コマンドで~/.Trashへ移動するのであれば安心ですね。

function rm () {
local path
for path in “[email protected]”; do
# ignore any arguments
if [[ “$path” = -* ]]; then :
else
local dst=${path##*/}
# append the time if necessary
while [ -e ~/.Trash/”$dst” ]; do
dst=”$dst “$(date +%H-%M-%S)
done
mv “$path” ~/.Trash/”$dst”
fi
done
}

(Via macosxhints.com – A shell function to make ‘rm’ move files to the trash)

このスクリプトをファイルにして実行権限を持たせるか、~/.bash_profileに書き足すかはお好みで。