【发布时间】:2017-01-10 02:31:16
【问题描述】:
我正在尝试将 Julia 与 Cygwin 一起使用(我对这两者都不太了解,很清楚)。我已经构建并测试了 Julia,一切似乎都很好。要从终端运行 Julia,我似乎需要在 Julia/usr/bin 中,然后键入 ./julia.exe(或只是 ./julia)。这在任何其他目录中都不起作用。
Julia 文档说
'一旦构建完成,您可以使用上面创建的目录(julia 目录)中的完整路径运行 julia 可执行文件,或者,从任何地方运行它...在julia 目录到 /usr/local/bin (或任何合适的目录已经在你的路径)'
因为我希望能够在任何目录中使用 Julia,这似乎是个好主意。但是,我尝试了
的各种排列ln -s /Julia/usr/bin/julia /bin
(使用 /bin 而不是 /usr/local/bin 因为这似乎是 cygwin 中保存的东西,而不是 linux 本身),每次我输入 julia 或 ./julia 时,我都会收到一条消息说 -bash: julia: command not found.
我希望这真的很容易 - 我不是很有经验。任何帮助,将不胜感激。
编辑 - 此问题已解决。我为 julia.exe 所在的正确路径尝试了许多不同的可能方法,包括相对路径 Coding/Julia/usr/bin,(我应该首先提到这一点)导致我在下面接受的答案。使用该答案,我现在可以使用命令 julia 在任何目录中的任何位置运行 Julia。
【问题讨论】:
-
我一直在 Cygwin 中使用 /usr/local/bin 来处理任何不能通过 Cygwin 安装程序安装的东西。你试过
ln -s /Julia/usr/bin/julia.exe /usr/local/bin/julia(或者你想放的任何地方)吗?也就是在命令行中包含.exe部分? -
刚刚试了一下(在 /usr/local/bin 中,以防它产生影响) - 仍然收到相同的错误消息。我尝试过使用 .exe 和不使用,并以 ./ 开头(不完全确定它会做什么,除非它使 .exes 运行)但我无法让它工作。
-
您可以检查 */bin 目录的 PATH 和权限。如果您执行
echo $PATH,您应该将/usr/local/bin:/usr/bin:作为第一个条目。尝试ln -s命令后,ls -l /Julia/usr/bin/julia.exe、ls -l /usr/local/bin/julia的输出是什么? -
以下是所有相关命令 - 看起来应该可以工作?但仍然是相同的错误消息。 Ben@Ben-PC ~ $ ln -s Coding/Julia/usr/bin/julia.exe /usr/local/bin/julia Ben@Ben-PC ~ $ julia -bash: julia: command not found Ben@Ben-PC ~ $ ls -l Coding/Julia/usr/bin/julia.exe -rwxr-xr-x 1 Ben None 1515029 Jan 13 22:16 Coding/Julia/usr/bin/julia.exe Ben@Ben-PC ~ $ ls -l /usr/local/bin/julia lrwxrwxrwx 1 Ben None 17 年 1 月 30 日 21:21 /usr/local/bin/julia -> 编码/Julia/usr/bin/julia.exe
-
这是我从 echo $PATH 得到的:/usr/local/bin:/usr/bin:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c /Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0
标签: cygwin executable symlink julia