Я установил Юлию локально, распаковав ее в папку. Затем я попытался добавить исполняемый файл в / usr / local / bin
, так как я не хочу изменять $ PATH
.
sudo ln -s bin/julia-1.5.3/bin/julia /usr/local/bin/julia
Если я сейчас выполню 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
Очевидно, что символическая ссылка существует, но моя оболочка сообщает мне, что команда не найдена. В чем проблема?
Решение довольно простое. Используйте здесь абсолютную символическую ссылку, чтобы первым аргументом 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
Обновление: Комментарий ниже правильно, и я соответствующим образом отредактировал ответ. Относительные симлинки — это хорошо и существуют по уважительным причинам, однако здесь они не имеют никакого смысла, так как сильно усложняют путь.