Docker を使用して開発環境で Discourse をインストール

Macで zsh(iTerm2上)を使用しており、プラグイン開発にシンボリックリンクを使おうとすると、以下のエラーに直面します。

readlink: illegal option -- f
usage: readlink [-n] [file ...]

これは、Mac の readlink コマンドの実装が GNU のそれとわずかに異なるためです。

最も簡単な解決方法は、以下の手順を実行することです。

# brew install coreutils
# ln -s "$(which greadlink)" "$(dirname "$(which greadlink)")/readlink"

これにより、互換性のある readlink バージョンを使用できるようになります。

dirname "$(which greadlink)" の値が、通常は元の readlink がある /usr/bin よりも前の位置に PATH に設定されている必要があることを覚えておいてください。私の場合、PATH は /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:... のようになっており、greadlink へのシンボリックリンクは /usr/local/bin にあります。

参考: Fixing "readlink: illegal option -- f" error on a Mac

「いいね!」 5