【问题标题】:Install phpcs sublime text 2 yields OSError: [Errno 2] No such file or directory安装 phpcs sublime text 2 产生 OSError: [Errno 2] No such file or directory
【发布时间】:2014-07-18 16:33:14
【问题描述】:

我刚刚通过 sublime text 2 上的包管理器安装了 phpcs。当我转到工具--> 嗅探这个文件时,我在控制台中收到此错误:

traceback (most recent call last):
  File "./sublime_plugin.py", line 362, in run_
  File "./phpcs.py", line 599, in run
  File "./phpcs.py", line 424, in run
  File "./phpcs.py", line 139, in get_errors
  File "./phpcs.py", line 215, in execute
  File "./phpcs.py", line 218, in parse_report
  File "./phpcs.py", line 169, in shell_out
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/subprocess.py", line 623, in __init__
    errread, errwrite)
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/subprocess.py", line 1141, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

错误是什么意思?如果我运行 python --version 我会看到 2.7.5。也许有一些问题,因为它正在寻找 /Versions/2.6?

【问题讨论】:

    标签: sublimetext2


    【解决方案1】:

    由于某种原因,Phpcs 插件无法找到您的php 二进制文件或phpcs 二进制文件。比如你用MacPorts,大概安装在/opt/local/bin,而Homebrew应该安装在/usr/local/bin(我想,我好久没用HB了)。首先,打开终端并输入which phpwhich phpcs,然后复制路径。

    接下来,在 Sublime 中,选择 Sublime Text 2 -> Preferences -> Package Settings -> PHP Code Sniffer -> Settings-Default。复制文件的全部内容,然后打开 Sublime Text 2 -> Preferences -> Package Settings -> PHP Code Sniffer -> Settings-User(应该为空)并将内容粘贴到其中。您现在可以关闭默认设置,因为不应为任何 ST2 插件修改该文件 - 将任何更改放入用户设置文件中。现在,在 Settings-User File 中,向下滚动到第 64 行并将 phpcs 的完整路径放在空引号之间,如下所示:

    "phpcs_executable_path": "/opt/local/bin/phpcs",
    

    如果 php 二进制文件的路径是 other 而不是 /usr/bin/php,则向上滚动到第 36 行并将完整路径放在空引号之间:

    "phpcs_php_prefix_path": "/opt/local/bin/php",
    

    应该就是这样。保存文件,重新启动 Sublime,然后再次尝试“嗅探”命令。即使您可以在终端中运行它们(希望如此),它也没有找到您安装的可执行文件的原因是因为从 Finder 或 Dock 启动的程序的 PATH 与您在 .profile 的终端中设置的 PATH 不同或.bashrc 或你有什么。如果您是 Mac 高级用户并且想要更改应用程序看到的默认路径,请在另一个 Stack Exchange 站点 Unix & Linux 上查看我对 this question 的回答。

    【讨论】:

    • 解决了。谢谢。现在控制台显示“ApplySyntax:语法已设置为 Packages/PHP/PHP.tmLanguage”,但我想这是一个不同的问题
    猜你喜欢
    • 2015-05-06
    • 2016-06-07
    • 2017-07-05
    • 2018-11-20
    • 2018-07-24
    • 1970-01-01
    • 2019-03-25
    • 2018-01-21
    • 1970-01-01
    相关资源
    最近更新 更多