好吧,我在安装两个不同版本的 swi-prolog 时遇到了这个问题。
我从 tar 文件手动安装了 swi-prolog (swipl) 版本 5.10.4,我现在认为这是一件愚蠢的事情。(我不记得我为什么要这样做,但这不是重点。)
然后我想获得最新版本的 prolog,所以我按照以下步骤操作:
sudo apt-add-repository ppa:swi-prolog/stable
sudo apt-get update
sudo apt-get install swi-prolog
Run Code Online (Sandbox Code Playgroud)
现在如果我这样做
swipl --version
Run Code Online (Sandbox Code Playgroud)
我得到
SWI-Prolog version 5.10.4 for x86_64-linux
Run Code Online (Sandbox Code Playgroud)
如果我这样做
/usr/bin/swipl --version
Run Code Online (Sandbox Code Playgroud)
我得到
SWI-Prolog version 6.4.1 for amd64
Run Code Online (Sandbox Code Playgroud)
我只想要我电脑上的 6.4.1 版本。
我在互联网上搜索了几个小时,但我找不到解决问题的方法。(也许我一直在寻找错误的术语/标签,我不知道..)
所以,我发现 5.10.4 版本可以在 /usr/local/bin/ 中找到,而 6.4.1 版本在 /usr/bin/ 中。那么我不能从 /usr/local/bin/ rm 5.10.4 版本吗?或者这不干净,例如它是否在磁盘上的某处留下过时的文件?
我刚刚删除的文件swipl在在/ usr / local / bin目录/ swipl与RM -command。现在每当我调用 swipl 时我都会得到 6.4.1 版本,但我仍然想知道这是否是一个好的解决方案。
的输出type swiplISswipl is /usr/local/bin/swipl和的输出dpkg -S $(type swipl | awk '{print $3}')就是dpkg-query: no path found matching pattern /usr/local/bin/swipl.
我解压了 .tar 文件,然后从 .tar 文件中的源代码(src 文件夹)运行了 make。然后使用sudo make install.