如何删除 OSX 中基于 linux 的程序
how to remove linux based program in OSX
我已经在 Mac 上安装了 Valgrind;但它不起作用,因为我遵循的说明是基于 Linux 环境:
- cd 进入源目录。
- 运行 ./autogen.sh 设置环境(你需要标准
autoconf 工具来执行此操作)。
- 运行 ./configure,如果您愿意,可以添加一些选项。唯一有趣的
一个是通常的 --prefix=/where/you/want/it/installed.
- 运行 "make".
- 运行 "make install",如果目标权限可能是 root
要求。
当我尝试 valgrind ls -l
我得到:
valgrind: Unknown/uninstalled VG_PLATFORM 'amd64-darwin'
所以,我通过 Homebrew 尝试了:
brew install valgrind
成功运行;但是当我再次尝试 valgrind 命令时,之前的安装覆盖了我的 shell 命令。
在这种情况下,如何正确删除之前安装的 Valgrind?
正如@bfontaine 在评论中所建议的那样,这可能只是一个散列问题,运行ning 很容易解决:
hash -r
正如@Petesh 在评论中进一步建议的那样,您最初安装的 "Linux" 软件包可能引入了一个 /usr/local/bin/valgrind
,homebrew 不会替换。要查看是否是这种情况,运行:
brew doctor
并查看 homebrew 的 valgrind
是否已取消链接。如果是,请按照好医生的建议删除您错误安装的那个,然后重新链接 homebrew 版本:
sudo rm /usr/local/bin/valgrind
brew link valgrind
否则,首先要做的是运行:
type valgrind
这将告诉您当您 运行 valgrind
.
时实际得到的是 运行
接下来要知道homebrew安装了/usr/local/bin
中的所有东西,所以如果上面第一个命令没有告诉你/usr/local/bin/valgrind
问题是:
valgrind
被函数或别名取代 - 在这种情况下删除别名或函数,或者
您的 PATH 已设置为包含 /usr/local/bin
之前包含 valgrind
的内容。所以你需要 运行:
echo $PATH
并检查 /usr/local/bin
之前是否有类似 /usr/local/my/funky/bin
的内容 - 这是您应该拥有的正确内容。
如果你的 PATH 是错误的,你可以用这样的命令来设置它:
export PATH="/bin:/sbin:/usr/local/bin"
尽管具体内容将取决于您之前在那里的内容。
一旦一切正常,如果它涉及更改您的 PATH,您应该确保在您的登录配置文件中始终以这种方式设置 PATH,该配置文件可能在以下文件之一中:
$HOME/.profile
$HOME/.bash_profile
$HOME/.bash_login
我已经在 Mac 上安装了 Valgrind;但它不起作用,因为我遵循的说明是基于 Linux 环境:
- cd 进入源目录。
- 运行 ./autogen.sh 设置环境(你需要标准 autoconf 工具来执行此操作)。
- 运行 ./configure,如果您愿意,可以添加一些选项。唯一有趣的 一个是通常的 --prefix=/where/you/want/it/installed.
- 运行 "make".
- 运行 "make install",如果目标权限可能是 root 要求。
当我尝试 valgrind ls -l
我得到:
valgrind: Unknown/uninstalled VG_PLATFORM 'amd64-darwin'
所以,我通过 Homebrew 尝试了:
brew install valgrind
成功运行;但是当我再次尝试 valgrind 命令时,之前的安装覆盖了我的 shell 命令。
在这种情况下,如何正确删除之前安装的 Valgrind?
正如@bfontaine 在评论中所建议的那样,这可能只是一个散列问题,运行ning 很容易解决:
hash -r
正如@Petesh 在评论中进一步建议的那样,您最初安装的 "Linux" 软件包可能引入了一个 /usr/local/bin/valgrind
,homebrew 不会替换。要查看是否是这种情况,运行:
brew doctor
并查看 homebrew 的 valgrind
是否已取消链接。如果是,请按照好医生的建议删除您错误安装的那个,然后重新链接 homebrew 版本:
sudo rm /usr/local/bin/valgrind
brew link valgrind
否则,首先要做的是运行:
type valgrind
这将告诉您当您 运行 valgrind
.
接下来要知道homebrew安装了/usr/local/bin
中的所有东西,所以如果上面第一个命令没有告诉你/usr/local/bin/valgrind
问题是:
valgrind
被函数或别名取代 - 在这种情况下删除别名或函数,或者您的 PATH 已设置为包含
/usr/local/bin
之前包含valgrind
的内容。所以你需要 运行:echo $PATH
并检查 /usr/local/bin
之前是否有类似 /usr/local/my/funky/bin
的内容 - 这是您应该拥有的正确内容。
如果你的 PATH 是错误的,你可以用这样的命令来设置它:
export PATH="/bin:/sbin:/usr/local/bin"
尽管具体内容将取决于您之前在那里的内容。
一旦一切正常,如果它涉及更改您的 PATH,您应该确保在您的登录配置文件中始终以这种方式设置 PATH,该配置文件可能在以下文件之一中:
$HOME/.profile
$HOME/.bash_profile
$HOME/.bash_login