将可执行文件添加到 /usr/local/bin:找不到命令 (macOS)

Add executable to /usr/local/bin: command not found (macOS)

我在ruby中做了一个简单的程序。该文件的顶部有 shebang,它是可执行的。当我 运行 它 (./parser.rb) 时,它起作用了。

然后我使用 ln -s parser.rb refs 创建了一个符号链接。

然后我将此符号链接移动到 /usr/local/bin。我重新启动了我的终端并 运行 refs,这给了我以下信息:

zsh: command not found: refs

我检查了我的路径变量:

jonaseveraert@MacBook-Air-van-Jonas bin % echo $PATH                       
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/Users/jonaseveraert/.cargo/bin

看起来不错。然后我进入目录 /usr/local/bin 寻找文件:

jonaseveraert@MacBook-Air-van-Jonas bin % ls -l | grep refs    
lrwxr-xr-x@ 1 jonaseveraert  staff         9 25 jan 14:14 refs.rb -> parser.rb

所以,文件在那里,但是 运行将它放在目录中给我:

jonaseveraert@MacBook-Air-van-Jonas bin % ./refs
zsh: no such file or directory: ./refs

有什么我忘了的吗?我似乎找不到这个问题的答案。

我找到了解决方案 here。问题是我在与 parser.rb 相同的目录中创建了符号链接,然后将其移动到 /usr/local/bin

当运行

jonaseveraert@MacBook-Air-van-Jonas bin % ls -l | grep refs    
lrwxr-xr-x@ 1 jonaseveraert  staff         9 25 jan 14:14 refs.rb -> parser.rb

显示 refs.rb 指向同一目录中的 parser.rb,但 parser.rb 不存在(因为它在另一个目录中)。

所以,我在 /usr/local/bin 中执行了 /Users/jonaseveraert/Documents/projects/academic/parser/parser.rb refs,现在:

jonaseveraert@MacBook-Air-van-Jonas bin % ls -l refs                                                                  
lrwxr-xr-x  1 jonaseveraert  admin  65 25 jan 15:36 refs -> /Users/jonaseveraert/Documents/projects/academic/parser/parser.rb

文件现在指向正确的文件,可以使用 refs 执行。