为磁盘目录授权出现:malloc: *** error for object xx: pointer being freed was not allocate问题解决

今天本来想更新Mac的Ruby环境,于是在终端输入gem update --system命令,但是系统提示:
RROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.


于是给/Library/Ruby/Gems/2.0.0目录授权,然后又更新,却被提示没有给/usr/bin目录授权,于是为其授权,再更新时终端一直没有反应,于是强行退出,再打开终端时,错误提示类似以下(当时没有保存错误信息,是复制别人的提问的):

 
Last login: Sat Oct 27 22:14:07 on console
login(320,0x7fff75096180) malloc: *** error for object 0x7fa673c00380: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
 
 
[Process completed]

然后终端进程就终止了,无法输入任何命令。


解决方法:修复磁盘权限。

1.打开Finder菜单中的应用程序选项:

为磁盘目录授权出现:malloc: *** error for object xx: pointer being freed was not allocate问题解决_第1张图片


2.打开使用工具,再打开磁盘工具,选择我们的磁盘:

为磁盘目录授权出现:malloc: *** error for object xx: pointer being freed was not allocate问题解决_第2张图片


3.点击左下角的验证磁盘权限,在验证完毕后会输出磁盘权限的权限错误信息:

为磁盘目录授权出现:malloc: *** error for object xx: pointer being freed was not allocate问题解决_第3张图片


4.修复磁盘权限:

为磁盘目录授权出现:malloc: *** error for object xx: pointer being freed was not allocate问题解决_第4张图片


5.再打开终端就没问题了。


参考资料:

gem install 对应的 permission deny 问题

How to Repair Disk Permissions on a Mac

Can't do anything in Terminal...

以上步骤可能不够完整,因为我没有Mac的安装Disk,所以做不了参考资料中所说的后面几个步骤,但是目前使用终端是没问题的。





你可能感兴趣的:(mac,Terminal)