sublime package control失败
https://blog.csdn.net/jyfu2_12/article/details/86667132
安装时的错误提示如下:
Error installing Package Control: HTTPS error encountered, falling back to HTTP – <urlopen error="" [errno="" 60]="" operation="" timed="" out="">Error installing Package Control: HTTP error encountered, giving up –</urlopen> <urlopen error="" [errno="" 60]="" operation="" timed="" out="">error: An error occurred installing Package Control</urlopen>
Please check the Console for details
Visit https://packagecontrol.io/installation for manual instructions
那我们就 顺着 https://packagecontrol.io/installation 向下来。先给本页面代理,并替换安装地址,最终代理后的地址如下: http://www.miaoqiyuan.cn/products/proxy.php/https://packagecontrol.io/installation。
1. 直接访问上面提到的安装地址,获取安装代码
程序会自动替换安装脚本的网络路径,已我已经部署好的地址为例,安装代码为:

import urllib.request,os,hashlib; h = '6f4c264a24d933ce70df5dedcf1dcaee' + 'ebe013ee18cced0ef93d5f746d80ef60'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://www.miaoqiyuan.cn/products/proxy.php/http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)
2. 打开Sublime Text 控制台,复制代码安装
打开 Sublime Text,在 View 菜单下,找到 Show Console。在底部控制台复制上面的代码后,按回车,很快就会安装完毕(和官方安装方法一致)。

安装完毕后,别忘了参考上面的教程更改 channels,请参考文章:http://www.miaoqiyuan.cn/p/package-control-error
项目已经在 Gitee.com 开源,可以直接去 https://gitee.com/mqycn/Proxy-for-Chinese-programmer/下载。
已经实现:
1、支持自动更新 虽然之前可以使用,但是因为 是手工保存到服务器静态文件,只能使用老的插件。现在设置的每两小时更新一次
2、在官网出现故障时仍能访问 在自动和官网同步时,会 判断 官网是否返回正确的代码
3、一套最好能支持多个代理 借用 PHP 的PATH_INFO,可以非常方面的传入任何 URL,可以对全网实现代理。当然,本程序也提供了白名单。
当然代理是有前提的:
1、对于被墙的代理,必须将域名放到 境外服务器
2、对于Sublime Text,服务器必须支持 IPv6
今天 Sublime Text 安装 插件是,提示错误:
Package Control
There are no packages available for installation
Please see https://packagecontrol.io/docs/troubleshooting for help

控制台提示:
Package Control: Attempting to use Urllib downloader due to WinINet error: Error downloading channel. Connection refused (errno 12029) during HTTP write phase of downloading https://packagecontrol.io/channel_v3.json.
Package Control: Error downloading channel. URL error [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。 downloading https://packagecontrol.io/channel_v3.json.
也考虑过最简单的方法,将channel_v3.json 保存到自己的服务器上,修改 Sublime Text 的配置文件。这种缺点也很明显,会和官方插件不同步(虽然新出的插件页用不到),编写了一个小代理脚本,会两个小时自动同步一次,完美的解决了这个问题。当然,官网服务器加入出现故障时,本脚本不会更新,仍使用本地缓存。
Package Control 不能使用?
使用方法如下(以我我已经部署好的地址为例,如果不放心我,可以在页面底部下载源码自行部署):
1. 打开 Settings User
打开 Sublime Text,选择 references -> Package Setting -> Package Control -> Settings User


2. 输入配置信息 打开配置文件后,输入 channels 信息(请参考页面顶部路径说明 ,以线上地址为例):
|
1
2
3
|
这里输入代码
3. 保存后,Package Control 已经可以正常使用了
Package Control 不能安装?
Package Control 可以安装插件了,在备用机例发现 Package Control 现在竟然无法安装成功,这个有点繁琐,还在用同一个脚本也解决了。
安装时的错误提示如下:
Error installing Package Control: HTTPS error encountered, falling back to HTTP –
Error installing Package Control: HTTP error encountered, giving up –
error: An error occurred installing Package ControlPlease check the Console for details
Visit https://packagecontrol.io/installation for manual instructions
那我们就 顺着 https://packagecontrol.io/installation 向下来。先给本页面代理,并替换安装地址,最终代理后的地址如下: http://www.miaoqiyuan.cn/products/proxy.php/https://packagecontrol.io/installation。
1. 直接访问上面提到的安装地址,获取安装代码
程序会自动替换安装脚本的网络路径,已我已经部署好的地址为例,安装代码为:
|
1
|
import urllib.request,os,hashlib; h = '6f4c264a24d933ce70df5dedcf1dcaee' + 'ebe013ee18cced0ef93d5f746d80ef60'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://www.miaoqiyuan.cn/products/proxy.php/http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by) |
2. 打开Sublime Text 控制台,复制代码安装
打开 Sublime Text,在 View 菜单下,找到 Show Console。在底部控制台复制上面的代码后,按回车,很快就会安装完毕(和官方安装方法一致)。
安装完毕后,别忘了参考上面的教程更改 channels
问题解决,吹吹牛
这样处理后已经能用了,趁现在心情好,顺便吹吹牛,煽煽情:
最为一个中国的开发者,吃饭的家伙经常 因为 墙 的问题 没法使用。
虽然 阿里、网易 的镜像能解决大部分问题,但是对于小众的软件就只没办法了(比如 神器 Sublime Text),每次出问题都把自己折腾的焦头烂额,影响工作进度。比如 Sublime Text,之前从同行的博客分享中找到了 channel_v3.json,他的站点因为备案问题,今天也不能访问了。。。
我的目标是这样项目把所有 小工具因墙出现的问题 都解决了,让中国程序员不怕断网、不怕被墙,开开心心快快乐乐的编码。(不管能不能实现,这个牛先吹着)
代理脚本也很简单,只有60行代码:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
<?php define('CACHE', './proxy/cache/'); define('CONFIG', './proxy/conf/'); $url = isset($_SERVER['PATH_INFO']) ? $_SERVER['PATH_INFO'] : ''; $url = substr($url, 1); //验证请求是否合法 $white = json_decode(file_get_contents(CONFIG . 'white.json'), true); $matched = false; $verify = false; foreach ($white as $item) { if (preg_match($item['pattern'], $url)) { $matched = true; $verify = $item['verify']; break; } } if (!matched) { header('404 Not Found'); die("<h2>Only whitelisted links are allowed</h2>"); } //根据请求获取MIME $mimes = json_decode(file_get_contents(CONFIG . 'mime-lite.json'), true); $ext = explode(".", $url); $ext = $ext[count($ext) - 1]; $ext = '.' . $ext; if (empty($mimes[$ext])) { $ext = '.html'; } $mime = $mimes[$ext]; //缓存文件,两小时更新一次 $cache_file = CACHE . md5($cache) . $ext; if (!is_file($cache_file)) { $will_refrech = true; } elseif (time() - filemtime($cache_file) > 7200) { $will_refrech = true; } else { $will_refrech = false; } if ($will_refrech) { $body = file_get_contents($url); if (empty($verify) || preg_match($verify, $body)) { file_put_contents($cache_file, $body); } } //输出结果 if (is_file($cache_file)) { header("Content-Type: ${mime}"); header("Last-Modified:" . gmdate("D, d M Y H:i:s", filemtime($cache_file)) . " GMT"); header("Content-Length:" . filesize($cache_file)); echo file_get_contents($cache_file); } else { header('404 Not Found'); die("<h2>Server Error!</h2>"); } |
项目已经在 Gitee.com 开源,可以直接去 https://gitee.com/mqycn/Proxy-for-Chinese-programmer/ 下载。
已经实现:
1、支持自动更新 虽然之前可以使用,但是因为 是手工保存到服务器静态文件,只能使用老的插件。现在设置的每两小时更新一次
2、在官网出现故障时仍能访问 在自动和官网同步时,会 判断 官网是否返回正确的代码
3、一套最好能支持多个代理 借用 PHP 的PATH_INFO,可以非常方面的传入任何 URL,可以对全网实现代理。当然,本程序也提供了白名单。
当然代理是有前提的:
1、对于被墙的代理,必须将域名放到 境外服务器
2、对于Sublime Text,服务器必须支持 IPv6
白名单设置说明
配置文件在: proxy/conf/white.json
|
1
2
3
4
5
6
7
8
9
10
|
[ { "pattern": "/https\\:\\/\\/packagecontrol\\.io\\/channel_v3\\.json/", "verify": "/\"repositories\"/" }, { "pattern": "网址正则正则表达式,只有在列表中匹配到的url才可以访问", "verify": "内容正则正则表达式,只有返回的内容能匹配本规则,才会写入缓存。也可以为false,不判断直接写入缓存" },] |
本条目发布于二月 11, 2019。属于PHP分类。
作者:那猫小帅
链接:https://www.jianshu.com/p/02665121caf9
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
sublime package control失败的更多相关文章
- sublime Text 2 安装Sublime Package Control
Sublime Text 2 安装 Sublime Package Control,通过 Sublime Package Control,安装.升级和卸载 Package. 安装 Package Co ...
- 解决sublime package control 出现There are no packages available for installation
昨天在安装了一下Sublime Text 3,在安装插件的过程中出现了一些问题,现在记录一下,也给遇到同样问题的朋友一些帮助.在安装插件的时候,需要先安装一下Package Control. 安装Pa ...
- 安装 sublime package control
import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_p ...
- 通过 Sublime Package Control 安装插件后不能用的解决办法
最近使用 Sublime 写 SASS 的时候需要使用高亮功能,通过 Package Control 安装了相关插件,但是安装之后没有反应,再次打开 Package Control 的时候,已经搜索不 ...
- sublime package control INSTALLATION
Simple The simplest method of installation is through the Sublime Text console. The console is acces ...
- Sublime package control错误:There are no packages available for installation
查了很多资料都没有解决. 改host---无效 复制一个文件的什么的,我看到版本比我的旧,就没有用 终于最后一个解决了.最终解决方案 解决: 更新下Package Control就好了: prefer ...
- sublime package control以及常用插件
一.package Control安装 1.sublime 3 import urllib.request,os; pf = 'Package Control.sublime-package'; ip ...
- sublime Text 3安装 Sublime Package Control(这个可以用于安装各种插件)时显示默认安装的c盘内存不够的解决方案
首先先关闭st3 之后在安装的路径下创建Data文件夹,然后打开st3(sublime Text 3简写)CTRL+`打开命令行输入以下内容,直接回车,等待下载完成就可以了import urllib. ...
- sublime Package Control 设备
sublime 插件的官方网站 https://sublime.wbond.net/ 点击Installation watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5u ...
随机推荐
- 小菜鸟入门nginx
实现功能:端口进行转发 比如我实际运行的是·http:localhost:5000 但是我想通过localhost:80 进行访问. 过程 1 下载nginx 2 解压到某个目录(比如我放在C盘根目录 ...
- 在Spring使用junit注解进行单元测试
在Spring中可以使用junit配合注解进行单元测试 一.常用注解 1.@RunWith(SpringJUnit4ClassRunner.class),让测试运行于spring测试环境2.@Cont ...
- Country Meow
Country Meow 和这基本一样 https://www.cnblogs.com/Fighting-sh/p/9809518.html #include<iostream> #inc ...
- mybatis框架入门程序:演示通过mybatis实现数据库的模糊查询操作
1. mybatis的基本准备操作见我的上一篇博文:https://www.cnblogs.com/wyhluckdog/p/10149480.html 2. 根据用户名查询用户信息: (1)映射文件 ...
- Spring JMX之二:远程访问MBean
虽然最初的JMX规范提及了通过MBean进行应用的远程管理,但是它并没有定义实际的远程 访问协议或API.因此,会由JMX供应商定义自己的JMX远程访问解决方案,但这通常又是专 有的. 为了满足以标准 ...
- tomcat启动了server.xml中没有配置的项目
在tomcat的conf目录下的server.xml文件中没有配置hczm_struts项目,但在eclipse启动tomcat调试时,一直启动hczm_struts项目. 经检查,发现conf\Ca ...
- 进入docker的4种方式
在使用Docker创建了容器之后,大家比较关心的就是如何进入该容器了,其实进入Docker容器有好几多种方式,这里我们就讲一下常用的几种进入Docker容器的方法. 进入Docker容器比较常见的几种 ...
- linux中的 tar命令的 -C 参数,以及其它一些参数
tar命令的-C参数 $ tar -cvf file2.tar /home/usr2/file2 tar: Removing leading '/' from members names hom ...
- Oracle学习笔记(十三)
十四.触发器(监听数据操作的工具) 1.什么是触发器? 数据库触发器是一个与表相关联的.存储的PL/SQL程序 作用: 每当一个特定的数据操作语句(insert.update.delete)在指定的表 ...
- Linux设备驱动模型底层架构及组织方式
1.什么是设备驱动模型? 设备驱动模型,说实话这个概念真的不好解释,他是一个比较抽象的概念,我在网上也是没有找到关于设备驱动模型的一个定义,那么今天就我所学.所了解 到的,我对设备驱动模型的一个理解: ...