Sublime Text 3 - Package Control: 尝试通过安全通道安装软件包时出现“无可用软件包安装”错误。

37

我在 Ubuntu 14.04 LTS 64 位系统上运行 Sublime。我尝试使用简单脚本和手动安装方法在 Sublime Text 3 上安装 Package Installer。

每当我尝试运行“安装包”选项时,会出现错误信息“没有可用的安装包”。

控制台显示以下跟踪信息:

Package Control: Error downloading channel. b'curl: (77) error setting certificate verify locations:\n  CAfile: /usr/lib/ssl/certs/ca-certificates.crt\n  CApath: /etc/ssl/certs' downloading https://sublime.wbond.net/channel.json.
error: Package Control
There are no packages available for installation
如果我将http://sublime.wbond.net/repositories.json添加为一个通道,安装包将显示包列表。但是,当我尝试安装一个包(例如漂亮的JSON),我再次收到与以下控制台跟踪相关的安全证书错误:
reloading Packages/User/Preferences.sublime-settings
found 1 files for base name Default.sublime-theme
Package Control: Error downloading package. b'curl: (77) error setting certificate verify locations:\n  CAfile: /usr/lib/ssl/certs/ca-certificates.crt\n  CApath: /etc/ssl/certs' downloading https://codeload.github.com/dzhibas/SublimePrettyJson/zip/master.
error: Package Control

Unable to download Pretty JSON. Please view the console for more details.
theme loaded
ignored packages updated to: [Vintage]
found 1 files for base name Default.sublime-theme
theme loaded
reloading Packages/User/Preferences.sublime-settings
found 1 files for base name Default.sublime-theme
theme loaded
任何有助于让Package Control在安全信道上工作的建议都受到欢迎。
ADDITIONAL DEBUG TRACE FOR PACKAGE CONTROL:
启用Package Control的调试后,我得到了以下跟踪信息:
Package Control: Fetching list of available packages
  Platform: linux-x64
  Sublime Text Version: 3059
  Package Control Version: 2.0.0
Package Control: Download Debug
  URL: https://sublime.wbond.net/channel.json
  Resolved IP: 50.116.34.243
  Timeout: 30
Package Control: Found system CA bundle at /usr/lib/ssl/certs/ca-certificates.crt
Package Control: Curl Debug Proxy
  http_proxy: 
  https_proxy: 
  proxy_username: 
  proxy_password: 
Package Control: Trying to execute command /usr/bin/curl --user-agent 'Sublime Package Control     v2.0.0' --connect-timeout 30 -sSL --compressed --dump-header /tmp/tmp_i20fq --cacert     /usr/lib/ssl/certs/ca-certificates.crt -v https://sublime.wbond.net/channel.json
Package Control: Curl HTTP Debug General
  Hostname was NOT found in DNS cache
    Trying 50.116.34.243...
  Connected to sublime.wbond.net (50.116.34.243) port 443 (#0)
  error setting certificate verify locations:
    CAfile: /usr/lib/ssl/certs/ca-certificates.crt
    CApath: /etc/ssl/certs
  Closing connection 0
    CAfile: /usr/lib/ssl/certs/ca-certificates.crt
    CApath: /etc/ssl/certs
Package Control: Error downloading channel. curl: (77) error setting certificate verify locations: downloading https://sublime.wbond.net/channel.json.
ignored packages updated to: [Vintage, Pretty JSON]
found 1 files for base name Default.sublime-theme
Package Control: Fetching list of available packages
  Platform: linux-x64
  Sublime Text Version: 3059
  Package Control Version: 2.0.0
theme loaded
Package Control: Download Debug
  URL: https://sublime.wbond.net/channel.json
  Resolved IP: 50.116.34.243
  Timeout: 30
Package Control: Found system CA bundle at /usr/lib/ssl/certs/ca-certificates.crt
Package Control: Curl Debug Proxy
  http_proxy: 
  https_proxy: 
  proxy_username: 
  proxy_password: 
Package Control: Trying to execute command /usr/bin/curl --user-agent 'Sublime Package Control     v2.0.0' --connect-timeout 30 -sSL --compressed --dump-header /tmp/tmpcg0ent --cacert     /usr/lib/ssl/certs/ca-certificates.crt -v https://sublime.wbond.net/channel.json
Package Control: Curl HTTP Debug General
  Hostname was NOT found in DNS cache
    Trying 50.116.34.243...
  Connected to sublime.wbond.net (50.116.34.243) port 443 (#0)
  error setting certificate verify locations:
    CAfile: /usr/lib/ssl/certs/ca-certificates.crt
    CApath: /etc/ssl/certs
  Closing connection 0
    CAfile: /usr/lib/ssl/certs/ca-certificates.crt
    CApath: /etc/ssl/certs
Package Control: Error downloading channel. curl: (77) error setting certificate verify locations:    downloading https://sublime.wbond.net/channel.json.
Package Control: Unable to find a sublime-package file for Pretty JSON
Package Control: Unable to find file package-metadata.json in the package Pretty JSON
Package Control: Download Debug
  URL: https://codeload.github.com/dzhibas/SublimePrettyJson/zip/master
  Resolved IP: 192.30.252.146
  Timeout: 30
Package Control: Found system CA bundle at /usr/lib/ssl/certs/ca-certificates.crt
Package Control: Curl Debug Proxy
  http_proxy: 
  https_proxy: 
  proxy_username: 
  proxy_password: 
Package Control: Trying to execute command /usr/bin/curl --user-agent 'Sublime Package Control     v2.0.0' --connect-timeout 30 -sSL --compressed --dump-header /tmp/tmpueshe5 --cacert   /usr/lib/ssl/certs/ca-certificates.crt -v https://codeload.github.com/dzhibas/SublimePrettyJson/zip/master
reloading Packages/User/Preferences.sublime-settings
found 1 files for base name Default.sublime-theme
Package Control: Curl HTTP Debug General
  Hostname was NOT found in DNS cache
    Trying 192.30.252.147...
  Connected to codeload.github.com (192.30.252.147) port 443 (#0)
  error setting certificate verify locations:
    CAfile: /usr/lib/ssl/certs/ca-certificates.crt
    CApath: /etc/ssl/certs
  Closing connection 0
    CAfile: /usr/lib/ssl/certs/ca-certificates.crt
    CApath: /etc/ssl/certs
Package Control: Error downloading package. curl: (77) error setting certificate verify locations:     downloading https://codeload.github.com/dzhibas/SublimePrettyJson/zip/master.
error: Package Control

Unable to download Pretty JSON. Please view the console for more details.

我遇到了这个错误。Package Control:下载通道时出错。URL错误[Errno 8]未提供节点名或服务器名,或下载https://packagecontrol.io/channel_v3.json不可知。 Package Control: 下载存储库时出错。URL错误[Errno 8]未提供节点名或服务器名,或下载https://api.github.com/repos/n1k0/SublimeHighlight不可知。 错误:Package Control 没有可以安装的软件包。 - Andrew
确保Little Snitch没有阻止请求(这是我的问题,几个月来一直不知道) - neaumusic
我关闭了Sublime,等了10分钟,重新启动后再试,结果它正常工作了。 - belteshazzar
13个回答

37

今天遇到了同样的问题。重新安装Package Control:

...即

  1. 单击“Preferences > Browse Packages…”菜单
  2. 向上浏览一个文件夹,然后进入Installed Packages/文件夹
  3. 下载Package Control.sublime-package并将其复制到Installed Packages/目录中
  4. 重启Sublime Text

非常好用!


5
这对我没用。Will Bond建议从GitHub Package Control仓库的主分支中获取最新内容到Sublime的packages文件夹中。现在它可以正常工作了。这里是在GitHub上提出的问题链接:https://github.com/wbond/sublime_package_control/issues/745它描述了问题和解决方案。 - AxxE
2
更简单的说法是:“转到首选项->浏览程序包,删除Package Control.sublime-package,从https://sublime.wbond.net/installation运行代码,重新启动Sublime。” - Allen Gingrich
1
我刚刚按照'simple' instructions重新安装了Package Control,对我有效。我使用的是ST3 Build 3103。 - Watchmaker
需要从“已安装的包”文件夹中删除“Package Control.sublime-package”。对我来说,使用提供的脚本进行简单的重新安装就足够了。不需要手动安装。 - Oliver Schafeld
在 Package Control 的用户配置中添加代理设置后,这个解决方案在 Debian 上运行良好。 - Frodon

26

今天我在64位的Ubuntu 16.04 LTS中使用Sublime Text Build 3126时遇到了同样的问题。

按照这个Github问题页面的建议解决了我的问题。

将以下行复制粘贴到

首选项>软件包设置>软件包控制>设置-用户。

"channels":
[
"https://packagecontrol.io/channel_v3.json",
"https://web.archive.org/web/20150905194312/https://packagecontrol.io/channel_v3.json"
],

它在Linux Mint 18.02上运行良好。非常感谢,伙计。 - Luis Milanese
不要使用旧的json,尝试下载最新版本并将其保存在github上,并定期更新。https://raw.githubusercontent.com/Keris/st3-channel/master/channel_v3.json - dulq

8

我在升级后遇到了同样的问题,但是在readme文件中看到了以下内容,运行此Python脚本解决了我的问题(使用ctrl + '打开控制台,然后运行以下命令)

import urllib.request,os,sys; exec("if sys.version_info < (3,) or os.name != 'nt': raise OSError('This code is for Windows ST3 only!')"); pr='Preferences.sublime-settings'; ip='ignored_packages'; n='Package Control'; s=sublime.load_settings(pr); ig=s.get(ip); ig.append(n); s.set(ip,ig); sublime.save_settings('Preferences.sublime-settings'); pf=n+'.sublime-package'; urllib.request.install_opener(urllib.request.build_opener(urllib.request.ProxyHandler())); by=urllib.request.urlopen('https://packagecontrol.io/'+pf.replace(' ','%20')).read(); open(os.path.join(sublime.installed_packages_path(),pf),'wb').write(by); ig.remove(n); s.set(ip,ig); sublime.save_settings(pr); print('Package Control: 3.0.0 upgrade successful!')

在我的实时环境中,差点执行了一个未被引用的Python脚本...我建议采用以下解决方案 - 将这些通道添加到您的包控制设置中。 - papiro

6

昨天我遇到了这个问题,尝试了@Juri提供的方法,但由于网络错误我无法下载Package Control.sublime-package,所以它没有起作用。今天我尝试正常安装一个包,并且它成功了。因此,这个问题与包管理器的服务器(https://packagecontrol.io/)有关,您需要等待问题被解决。


是的,当我手动访问 https://packagecontrol.io/channel_v3.json 时,我收到了404错误。 - danjah

4

在以下位置检查代理设置:

Preferences > Package Settings > Package Control > Settings – Default / User

如果代理设置无效,您也会遇到此错误。

1
那么,“如果代理设置无效”是什么意思?我们如何知道它何时有效或无效? - Alvaro
代理服务器宕机了。 - aGuegu
1
你需要将"http_proxy": "<proxy>:<port>"添加到文件Preferences > Package Settings > Package Control > Settings - User中。 - Harish

2
我有同样的问题。我正在使用MAC OS Catalina 10.15.6上的Sublime Text 3。
下面的更改解决了像宝石一样的问题!
前往
Preferences > Package Settings > Package Control > Settings – Default / User

并添加以下行
"downloader_precedence":  
{  
    "linux": [ "curl","wget","urllib"],  
    "osx":   ["curl","wget","urllib"]  
}

1
这是对我有用的解决方法,在WSL Ubuntu 20.04上。 - Laurie

1

最近我遇到了与curl、apt-get、wget相关的SSL验证问题,尝试使用Sublime安装软件包时也出现了类似的问题:

SSL: CERTIFICATE_VERIFY_FAILED

在浏览网站时,我发现有一个可以管理ca证书的软件包,它是:

mlazo@mlazo-pc:~$ dpkg -l |grep -i ca-certificates
ii  ca-certificates                                                  20201027ubuntu0.18.04.1                             all          Common CA certificates


所以我继续重新安装它,按照以下步骤进行:
sudo apt-get install --reinstall ca-certificates

当主包被重新安装后,我使用快捷键"Cntrl + Shift + P"在Sublime上安装了一个包,结果是成功的。

我真心希望这些信息能对其他人有所帮助。

最好的问候,

Manuel Lazo


0

我也遇到了同样的问题,控制台显示https://packagecontrol.io/channel_v3.json的403错误。

我不得不手动下载文件并将通道更改为计算机中的文件。不确定这是否是最可靠的方法,因为您可能需要再次下载文件才能查看最新的软件包,但这是我唯一有效的方法。

所以只需从https://packagecontrol.io/channel_v3.json下载该文件。

将文件添加到以下通道中:

首选项>软件包设置>软件包控制>设置-用户。

像这样:

"channels":
[
    "C:\\Users\\YourUser\\Downloads\\channel_v3.json"
],

0

使用手动方法安装软件包(按照以下步骤操作):

  • 单击“首选项>浏览软件包…”菜单
  • 向上浏览一个文件夹,然后进入Installed Packages/文件夹
  • 下载Package Control.sublime-package并将其复制到Installed Packages/目录中
  • 重新启动Sublime Text

然后不要忘记将您的代理和端口添加到文件Preferences>Package Settings>Package Control>Settings - User中,如下所示:

"http_proxy": "[proxy]:[port]"


0

现在再试一次。我认为网站管理员已经修复了证书问题 - 你可能需要删除包控制文件并重新安装它(但你可以保留已安装的设置和其他软件包)。

此外,如果你没有安装cURL,似乎会失败,但你已经安装了。


在控制台安装Package Control时出现错误:Package Control: 下载通道时出错。b'curl: (77) error setting certificate verify locations:\n CAfile: /usr/lib/ssl/certs/ca-certificates.crt\n CApath: /etc/ssl/certs' downloading https://sublime.wbond.net/channel.json. Package Control: 下载通道时出错。b'curl: (77) error setting certificate verify locations:\n CAfile: /usr/lib/ssl/certs/ca-certificates.crt\n CApath: /etc/ssl/certs' downloading https://sublime.wbond.net/channel.json. Package Control: 没有更新的软件包。 - AxxE
此外,我在 Package Control 的 GitHub 存储库上寻求帮助。按照 Will 的分类步骤,由于某些原因,我的 ca-certificates.crt 为空。 - AxxE

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接