我从下载并安装了一个程序来源。现在我想安装一个更新的版本,再次从来源。在这两种情况下,我都必须将 PATH 添加到 bashrc。我担心即将出现问题,因为我认为当我在终端中输入 NS(我的程序)时,Linux 不知道该输入哪一个暴露?这是正确的标准?
答案1
当你将两个同名的软件安装到两个不同的目录中时,将调用 /usr 目录中的其中一个。
如果两者都安装在 usr 以外的地方,则使用第一个位置的那个(我是这样认为的)
对于您来说,您必须在 bashrc 中更改任一包的名称,例如更改为 NS2,它将指向您将编译的应用程序之一。另一个将由 NS 指向。这将解决您的问题。
答案2
假设您在不同的目录中编译两个版本,那么您只需在 PATH 变量中使用其中一个目录即可。
假设您有一个名为 NS-1.0.0 的目录,并且二进制文件位于其中的 /bin 下:
PATH=$PATH:/home/my-name/NS-1.0.0/bin
现在您编译版本 1.3.7,因此二进制文件最终会出现在一个新目录中,您可以将 PATH 更改为以下内容:
PATH=$PATH:/home/my-name/NS-1.3.7/bin
如果您将软件安装在 /usr/bin/... 或 /usr/local/bin/... 下,则安装新版本可能会覆盖旧版本。但是,如果需要删除旧版本的某些文件,则无法保证它能正常工作。
如果您将所有内容都保存在本地,那么我所显示的更改就足够了。