I have an issue with a binary(?) that simultaneously seems to exist and not exist.

$ ls -l /usr/local/bin/vue
lrwxr-xr-x  1 myusername  admin  73 Jul 14 15:31 /usr/local/bin/vue -> ../../../Users/myusername/.config/yarn/global/node_modules/vue-cli/bin/vue
$ /usr/local/bin/vue
zsh: no such file or directory: /usr/local/bin/vue

Any idea what's going on here?

  • Most probably you deleted the target file after linking it with /usr/local/bin/vue
    – Prvt_Yadav
    Jul 14, 2018 at 14:05
  • If you see this when running a shell script, it might be because of \r\n line endings that can be fixed by dos2unix. See stackoverflow.com/a/38193054/6517383 Oct 7, 2018 at 9:49

1 Answer 1


You will find that /Users/myusername/.config/yarn/global/node_modules/vue-cli/bin/vue does not exist.

The symbolic link /usr/local/bin/vue exists, so you can see it with ls -l. But the target does not, so there's not really any file there.

You can confirm this with either of these two commands

ls -lL /usr/local/bin/vue
ls -l /usr/local/bin/../../../Users/myusername/.config/yarn/global/node_modules/vue-cli/bin/vue

The first tells ls to give you information about the target of the link rather than the link itself (-L). The second looks directly at the target.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .