解决方式:
sudo xattr -r -d com.apple.quarantine /Applications/GoLand.app
sudo xattr -r -d com.apple.quarantine 后面是可执行的文件所在目录
在 macOS 系统中,sudo xattr -r -d com.apple.quarantine
这个命令用于删除文件或文件夹上的"隔离"属性。这里逐步解释下这个命令的各个部分:
-
sudo :这是"superuser do"的缩写,意味着这个命令需要以超级用户(管理员)权限执行。使用
sudo
可以执行通常只有系统管理员才能执行的命令。 -
xattr:这是一个用于管理文件或目录的扩展属性的命令行工具。扩展属性是附加在文件系统条目上的元数据,可以用来存储额外的信息。
-
-r :这个选项告诉
xattr
命令递归地处理目标路径中的所有文件和子目录。如果没有这个选项,命令只会影响指定的单个文件或目录。 -
-d:这个选项用来删除指定的扩展属性。
-
com.apple.quarantine:这是 macOS 系统用来标记从互联网下载的文件的一个特定扩展属性。当文件被下载并保存到你的设备上时,系统会自动给文件加上这个标记,以防止潜在的不安全或恶意的文件自动执行。
-
后面通常跟着要处理的文件或目录的路径。
命令的作用
当你从互联网下载文件时,macOS 会自动将这些文件标记为"隔离"状态。这意味着当你尝试打开这些文件时,系统会显示一个警告,提示这些文件来自互联网,可能不安全。这个隔离标记就是通过 com.apple.quarantine
属性来实现的。
使用 sudo xattr -r -d com.apple.quarantine <path>
命令可以删除指定路径下所有文件的这个隔离属性。这通常在你确定文件安全,且想要避免每次打开文件时都出现警告对话框时执行。这样做可以让这些文件就像是在本地创建的一样,不会再显示打开警告。
使用注意
确保你完全信任你正在去除隔离标记的文件。因为这个隔离机制是一种安全措施,用来防止未经检查的代码或应用在你的系统上执行。