macOS 환경에서 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)" 값이 PATH에서 /usr/bin (보통 원래의 readlink가 위치한 곳)보다 앞쪽에 위치하도록 해야 한다는 점을 기억하세요. 제 경우 PATH는 /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:... 형태이며, greadlink에 대한 심볼릭 링크는 /usr/local/bin에 있습니다.