今天本来想更新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菜单中的应用程序选项:
2.打开使用工具,再打开磁盘工具,选择我们的磁盘:
3.点击左下角的验证磁盘权限,在验证完毕后会输出磁盘权限的权限错误信息:
4.修复磁盘权限:
5.再打开终端就没问题了。
参考资料:
gem install 对应的 permission deny 问题
How to Repair Disk Permissions on a Mac
Can't do anything in Terminal...
以上步骤可能不够完整,因为我没有Mac的安装Disk,所以做不了参考资料中所说的后面几个步骤,但是目前使用终端是没问题的。