繁体   English   中英

将可执行文件添加到 /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

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

我在这里找到了解决方案。 问题是我在与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执行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM