我在Mac上安装了Valgrind;但它没有用,因为我所遵循的指令是基于Linux环境的:
当我尝试valgrind ls -l
时,我得到了:
valgrind: Unknown/uninstalled VG_PLATFORM 'amd64-darwin'
所以,我试过了Homebrew:
brew install valgrind
成功跑了;但是当我再次尝试valgrind命令时,前一个安装覆盖了我的shell命令。
在这种情况下,如何正确删除以前的Valgrind安装?
答案 0 :(得分:2)
根据@bfontaine的评论中的建议,它可能只是一个哈希问题,并且可以通过运行来解决:
hash -r
正如@Petesh的评论中进一步建议的那样," Linux" 包的初始安装可能引入了/usr/local/bin/valgrind
,其中自制< / strong>不会替换。要查看是否是这种情况,请运行:
brew doctor
并查看自制程序的valgrind
是否已取消关联。如果是,请按照医生的建议删除您错误安装的那个,然后重新链接自制版本:
sudo rm /usr/local/bin/valgrind
brew link valgrind
否则,首先要做的是:
type valgrind
这将告诉您在运行valgrind
时实际运行的内容。
接下来要知道自制软件会在/usr/local/bin
中安装所有内容,所以如果上面的第一个命令没有告诉你/usr/local/bin/valgrind
,问题就是:
valgrind
被函数或别名取代 - 在这种情况下删除别名或函数,或您的PATH已设置为包含/usr/local/bin
之前包含valgrind
的内容。所以你需要运行:
echo $ PATH
并检查/usr/local/my/funky/bin
之前是否有类似/usr/local/bin
的内容 - 这是您应该拥有的内容。
如果您的PATH错误,您可以使用以下命令设置它:
export PATH="/bin:/sbin:/usr/local/bin"
虽然确切的内容取决于你之前的所有内容。
一旦一切正常,如果涉及更改你的PATH,你应该确保PATH始终在你的登录配置文件中设置,这可能在以下文件之一:
$HOME/.profile
$HOME/.bash_profile
$HOME/.bash_login