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. 直接访问上面提到的安装地址,获取安装代码

程序会自动替换安装脚本的网络路径,已我已经部署好的地址为例,安装代码为:

 
image
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。在底部控制台复制上面的代码后,按回车,很快就会安装完毕(和官方安装方法一致)。

 
image

安装完毕后,别忘了参考上面的教程更改 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 信息(请参考页面顶部路径说明 ,以线上地址为例):

这里输入代码

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 Control

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. 直接访问上面提到的安装地址,获取安装代码

程序会自动替换安装脚本的网络路径,已我已经部署好的地址为例,安装代码为:

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);
    $url = preg_replace('/(https|http):\//', '$1://', $url);
 
    //验证请求是否合法
    $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失败的更多相关文章

  1. sublime Text 2 安装Sublime Package Control

    Sublime Text 2 安装 Sublime Package Control,通过 Sublime Package Control,安装.升级和卸载 Package. 安装 Package Co ...

  2. 解决sublime package control 出现There are no packages available for installation

    昨天在安装了一下Sublime Text 3,在安装插件的过程中出现了一些问题,现在记录一下,也给遇到同样问题的朋友一些帮助.在安装插件的时候,需要先安装一下Package Control. 安装Pa ...

  3. 安装 sublime package control

    import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_p ...

  4. 通过 Sublime Package Control 安装插件后不能用的解决办法

    最近使用 Sublime 写 SASS 的时候需要使用高亮功能,通过 Package Control 安装了相关插件,但是安装之后没有反应,再次打开 Package Control 的时候,已经搜索不 ...

  5. sublime package control INSTALLATION

    Simple The simplest method of installation is through the Sublime Text console. The console is acces ...

  6. Sublime package control错误:There are no packages available for installation

    查了很多资料都没有解决. 改host---无效 复制一个文件的什么的,我看到版本比我的旧,就没有用 终于最后一个解决了.最终解决方案 解决: 更新下Package Control就好了: prefer ...

  7. sublime package control以及常用插件

    一.package Control安装 1.sublime 3 import urllib.request,os; pf = 'Package Control.sublime-package'; ip ...

  8. sublime Text 3安装 Sublime Package Control(这个可以用于安装各种插件)时显示默认安装的c盘内存不够的解决方案

    首先先关闭st3 之后在安装的路径下创建Data文件夹,然后打开st3(sublime Text 3简写)CTRL+`打开命令行输入以下内容,直接回车,等待下载完成就可以了import urllib. ...

  9. sublime Package Control 设备

    sublime  插件的官方网站 https://sublime.wbond.net/ 点击Installation watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5u ...

随机推荐

  1. Socket调用方式(同步,异步,阻塞,非阻塞)

    同步: 我调用一个功能,该功能没有结束前,我死等结果. 异步: 当一个异步过程调用发出后,调用者不能立刻得到结果.该功能在完成后,通过状态.通知和回调来通知调用者. 同步和非同步关注的是调用者是否等待 ...

  2. iOS App图标和启动画面尺寸

    注意:iOS所有图标的圆角效果由系统生成,给到的图标本身不能是圆角的. 1. 桌面图标 (app icon) for iPhone6 plus(@3x) : 180 x 180 for iPhone ...

  3. jQuery validator 增加多个模板

    今天学了jquery validator 可以增加多个模板,而不用写长长的js代码.废话少说,直接上例子 这段是要添加的模板 上面是把模板部分是要重复增加多个的部分,需独立出来,用textarea标签 ...

  4. [Java] Java API文档下载方法

    Java API文档下载方法:http://jingyan.baidu.com/article/a3aad71ac9e48fb1fb009692.html Oracle : http://www.or ...

  5. 阿里云专属推荐码nuyxa6

    申请成功!您的推荐码为nuyxa6 恭喜您获得阿里云专属推荐码,推荐码有效期至2017-03-04 14:43:49. 我们会在到期日前两周以站内信的方式通知您新的有效期.

  6. spark VS mapreduce

    Apache Spark,一个内存数据处理的框架,现在是一个顶级Apache项目. 这是Spark迈向稳定的重要一步,因为它越来越多地在下一代大数据应用中取代MapReduce. MapReduce是 ...

  7. jquery的理解

    1.jquery的好处 简化js的复杂操作 不再需要关心兼容性 提供大量使用方法 2.jquery的设计思想 选择网页元素 -模拟css选择元素 -独有的表达式选择 -多种筛选方法 写法 -方法函数化 ...

  8. jFinal render为什么不跳转到指定的页面

    jFinal render为什么不跳转到指定的页面 1:需要在你自己的主配置文件里面配置所有页面的文件前缀,没配置默认是项目的根目录 //配置页面访问主路径 me.setBaseViewPath(&q ...

  9. Jenkins执行selenium报错unknown error: cannot find Chrome binary

    问题描述:在Pycharm中执行selenium测试用例,可以正常运行, 集成在Jenkins中,构建时,发现构建成功,但是查看Console Output,报错:unknown error: can ...

  10. Chrome Command Line API 参考