我明白了:
有人说用它chmod
来修复执行文件的问题,但我仍然不明白该怎么做。有人能告诉我具体步骤吗?
答案1
在我的情况下,什么都没起作用,直到我意外地打开了 .zip 文件的上下文菜单。打开方式 -> 有
1)Archive Utility(默认)在解压时总是破坏我的应用程序
2)Unarchiver,用此解压并启动应用程序
操作系统 10.14
答案2
发生这种情况是因为应用程序没有执行权限。
要使应用程序可执行:
- 打开一个终端窗口(CMD + Space ->终端);
- 使用
cd
命令,导航到存储应用程序的位置:cd <path_to_application>
- 运行
chmod +x <application_file>
以使其可执行。如果不允许,请使用 sudo 命令:
sudo chmod +x <application>
。
第 3 点中的命令应该看起来类似于此(感谢@CJK):
chmod +x "/Applications/ShadowBat.app/Contents/MacOS/ShadowBat"
答案3
@Fanatique 是对的,但请注意 -
造成这一问题的原因有很多,大多数不能可以使用 进行修复chmod
。使用不适当的工具处理程序包通常会“损坏”可执行包。
- 使用不适当的设置制作 zip 或 tar 档案将会剥夺许多文件属性;
- 通过不同的文件系统复制 - 例如 FAT32 格式的 USB 记忆棒 - 可能会破坏文件名(大写、特殊字符);
- 最后,使用正确的工具在计算机之间复制应用程序可能会导致无效的“收据”文件(有时商业应用程序以这种方式加密锁定到某些硬件 ID - 收据在目标机器上无效)。
chmod
除非你对文件模式和 ACL 有很好的理解,否则你不应该使用,更重要的是,什么确切地问题是,所以你可以修复它...这个无害的工具能够递归地破坏你的整个文件系统(甚至可能阻止你的系统启动)。
如果有疑问,我建议删除并重新安装相关应用程序。
答案4
以下命令通常可以解决大多数问题:
chmod +x "/Applications/ShadowBat.app/Contents/MacOS/ShadowBat"
但如果没有,则应用程序内可能还有另一个应用程序文件,您需要为其运行相同的命令。例如,右键单击应用程序,然后单击“显示包内容”,然后查找名为“Versions”的文件夹。
此文件夹中可能还有另一个应用程序,您可以按照上述命令的相同过程使该应用程序可执行。