【问题标题】:How to solve Permission Denied when running Sublime Text 3 from the terminal?从终端运行 Sublime Text 3 时如何解决 Permission Denied?
【发布时间】:2016-02-26 19:39:11
【问题描述】:

系统是运行 Sublime Text 3 的 Mac OS X El Capitan。

我完全能够从终端运行 ST3,通过键入“subl”使用符号链接。我不知道可能会发生什么变化。

现在,每次我尝试在任何给定目录中从终端启动 subl(通过运行“subl”。)我每 5 秒得到一个“Permission Denied”窗口。

[Sublime打开指定目录,不管是哪个,然后每次切换回ST3,都会弹出“Permission Denied”的窗口]

ST 控制台中的唯一消息是:“错误:权限被拒绝”。

从 GUI(不是 CLI)打开 Sublime Text 时,根本不会发生这种情况。

【问题讨论】:

  • 我把这个带到了 Sublime Text 的论坛:sublimetext.com/forum/viewtopic.php?f=3&t=21987
  • 我会使用sudo opensnoop,可能使用grep 过滤,来尝试确定是否有任何失败的文件系统请求与错误相对应。
  • 我的解决方案与 Gavy 的答案类似,但是,一个小改动解决了我的问题。 Gavy 提到的所有步骤都是相同的,除了在查看权限时,您还需要单击用户的设置轮并确保单击“应用于随附的项目......”我的用户已经拥有对该文件夹的读写权限,但是我们的存储库出现了问题,我不再能够与我的用户一起写入主文件夹内的某些地方。希望对您有所帮助。

标签: macos sublimetext3 sublimetext permission-denied osx-elcapitan


【解决方案1】:

如果您为 Sublime 3 安装了 Git,如果您删除了任何托管在 github 中的项目文件或文件夹,则会导致错误并弹出“Permission Denied”。

解决方案:删除 Git 包并重新安装。你可以这样做

cmd+shift+p 并选择“Package Control: Disable Package”并选择Git

希望对你有帮助。

【讨论】:

    【解决方案2】:

    通过在恢复模式下重新启动来禁用 csrutil(启动时 cmd + r) 然后实用程序>终端

    csrutil 禁用

    然后像往常一样重新启动您的 Mac。 csrutil 应该这样做,但我听说其他人据说也需要禁用网守......

    在终端中禁用网守:

    sudo spctl --master-disable

    【讨论】:

    • 我已在恢复模式下从终端禁用 csrutil。那没有帮助。我还禁用了看门人(从常规会话中)。也没有工作。任何其他想法如何解决这个问题或为什么会发生?
    • 嗯,那么不确定。我假设您可以一直遍历文件路径并更改每个文件夹的权限:右键单击>获取信息>共享和权限。我知道您可以在终端中快速手动为所有封闭的文件夹执行此操作,只是不记得该命令。
    • 但是我应该更改 Sublime Text 应用程序文件夹或我试图打开的文件夹的权限吗?不确定这是否清楚:无论我尝试使用 subl 符号链接打开哪个文件夹,都会发生这种情况。这是否意味着我需要为每个新项目每次都这样做?
    • 另外,为什么我似乎是唯一面临这个问题的人?你见过其他人有同样的问题吗?找不到关于此的任何其他帖子/问题。
    • 如果您不知道自己在做什么,这是一个危险的建议。运行此程序将禁用系统完整性保护 - 一项安全功能。您不需要这样做。
    【解决方案3】:

    我能找到的唯一方法是完全禁用所有插件。

    这停止了错误消息。现在我正在将它们一一启用,到目前为止一切顺利。

    【讨论】:

      【解决方案4】:
      1. 右键单击您的主文件夹。
      2. 获取信息
      3. 共享和权限。 (必要时解锁)
      4. 添加新用户并将您自己添加到组中。按确定。
      5. 将您的权限从“只读”更改为“读写”。
      6. 等待更改完成并尝试保存。您现在应该可以保存了。

      【讨论】:

        【解决方案5】:

        从 GUI 中,执行 File > Save As... 并再次导航到该文件夹​​为我清除了它。我一直在 Finder 中重新组织文件夹和文件,打开一个,并在收到错误消息时尝试执行 Save As...

        我通过File > Get Info 检查了文件和文件夹的权限,但那里一切正常。不知道为什么 Sublime Text 会感到困惑。

        【讨论】:

          【解决方案6】:

          简单的解决方案: 当您将文件保存在崇高的文本中时。它要求位置。检查默认保存位置是否为“/”目录。如果是,请更改目录位置,因为您无权在 / 文件夹中创建新文件 注意:如果 Sublime 不要求目录,请使用“另存为”选项

          【讨论】:

            【解决方案7】:

            在我的 OS X El Capitan 上,从应用程序图标启动 Sublime Text 3 时,环境 PATH 存在问题。结果,它在 /usr/bin/git 找到了 Apple 的 git,并且每隔 10 秒就没有“Permission Denied”。但是,当从命令行开始时,根据我所读到的关于 Sublime 和路径的内容,我假设它会使用 bash 会话中的现有 PATH 并找到位于 /usr/local/bin/git 的我的 git install。出于某种原因,它没有这样做,并且一定是在使用另一个 git 或者根本找不到任何东西。

            我的解决方法:
            我编辑了我的 Git.sublime-settings(Sublime Text > Preferences > Package Settings > Git > Settings - User)并且 Permission Denied 弹出窗口停止了。我从应用程序图标和 CLI 重新启动了几次,它就消失了。 Tools > Git 命令一切正常,没有更多问题。

            Git.sublime-settings file:
            {
              "git_command": "/usr/local/bin/git"
            }
            

            使用 git 安装的路径。

            【讨论】:

              【解决方案8】:

              从控制台运行sudo /Applications/Sublime\ Text.app/Contents/MacOS/Sublime\ Text。 它将以 root 用户身份打开一个新的 Sublime 窗口

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2014-02-07
                • 1970-01-01
                • 2022-11-10
                • 2022-12-03
                • 2016-08-11
                • 1970-01-01
                • 2019-10-02
                相关资源
                最近更新 更多