mat*_*t3o 4 command-line symbolic-link julia-lang
我通过将 Julia 解压缩到一个文件夹中来在本地安装它。然后我尝试将可执行文件添加到,/usr/local/bin因为我不想修改$PATH.
sudo ln -s bin/julia-1.5.3/bin/julia /usr/local/bin/julia
Run Code Online (Sandbox Code Playgroud)
如果我现在在新的 shell 窗口中执行 Julia,则会弹出以下消息:
$ julia
zsh: command not found: julia
$ ls -l /usr/local/bin/
total 12
lrwxrwxrwx 1 root root 25 Jan 1 10:08 julia -> bin/julia-1.5.3/bin/julia
Run Code Online (Sandbox Code Playgroud)
所以显然符号链接存在,但我的 shell 告诉我找不到命令。这里有什么问题?
mat*_*t3o 11
解决方法相当简单。在这里使用绝对符号链接,以便第一个参数ln -s是完整路径。
sudo ln -s /home/user/bin/julia-1.5.3/bin/julia /usr/local/bin/julia
现在它可以正确打开并按预期执行。
第二个也是更复杂的解决方案是使用相对符号链接。但是,它必须相对于将创建符号链接的文件夹。因此,从/usr/local/bin一个开始必须向上移动三个文件夹/,然后下降到适当的文件夹。
sudo ln -s ../../../home/user/bin/julia-1.5.3/bin/julia /usr/local/bin/julia
更新:下面的评论是正确的,我相应地编辑了答案。相对符号链接很好并且有充分的理由存在,但是在这里它们没有任何意义,因为它们使路径复杂化了很多。