本文转载自CSDN空间freshlover的博客《Sublime Text 无法使用Package Control或插件安装失败的解决方法》,转载请注明出处,谢谢!

Sublime Text用了一年多了,公司搬家最近突然发现Package Control无法安装新插件了,虽然不影响原有功能的使用,还是要解决它。由于本人用Windows系统,只讨论Windosw下的解决方法。Mac与Linux下的用户可以参照解决。

本文主要介绍Sublime Text如何开启debug模式,分析使用过程中一些常见错误情形的解决方法。情形一:Package Control:There are no packages available for installation。情形二:Package Control:Unableto download Emmet.Please view the console for more details. Error while loading PyV8 binary:exit code 3 …情形三:无法打开Package Control或没有安装PackageControl。稍后简单介绍一下前端开发常用的Package插件,最后会补充一些常用快捷键的作用等。

为了更准确的定位问题,建议插件在安装前开启控制台(快捷键Ctrl+~),同时在开启debug模式,这样可以在安装过程中了解哪一步出了问题,然后有针对性的去解决问题。

 一、开启Debug模式

Debug模式开启方法:将PackageControl.sublime-settings文件中的debug参数设为true,举个例子,我的文件处于安装目录的这个位置:

D:\Program Files\Sublime Text 2\Data\Packages\PackageControl\ PackageControl.sublime-settings

更多参数的含义,参见官网https://packagecontrol.io/docs/settings

二、安装错误情形 

下面汇总了安装过程中可能出现的一些常见问题:

情形一:Package Control:There are no packages available for installation

据StackOverflow上说是IPv6造成,如果我们的Intent服务提供者(ISP)不支持IPv6就会引发上述错误,原文如下:

This error is happened with IPv6 problem. If yourInternet Service Provider (ISP) does not support for IPv6 you got this error.

具体请参考:http://stackoverflow.com/questions/25105139/sublime-text-2-there-are-no-packages-available-for-installation

如果IPV6有问题,curl就会打印类似这样的错误:

curl: (7) Failed to connect to xxxxx...

找到了问题原因,下面着手解决它。

第一步:取得sublime.wbond.net的IPv4地址。在命令提示符中输入以下命令:

ping sublime.wbond.net

第二步:打开C:\Windows\system32\drivers\etc\hosts文件,增加如下对应关系:{IPv4 address}sublime.wbond.net

保存文件,然后再打开Package Control(快捷键Ctrl+Shift+P)开始安装即可。

情形二:Package Control:Unableto download Emmet.Please view the console for more details./Error while loading PyV8 binary:exit code 3…

类似这种插件无法下载的问题,一般是由于网速慢,或者目标域名被墙而无法正常访问导致的。

这种情况下,首先检查本地网络是否可以访问,检测下载速度是不是特别慢,

如果网速太慢,换个时间再安装。还有一个办法是:到github或第三方网站手动下载安装包,然后解压到安装目录下的/Packages目录下。

比如我的Emmet则需要解压到D:\ProgramFiles\Sublime Text 2\Data\Packages\Emmet目录下。

另外许多插件都依赖于Python的,在插件安装开始时会去下载Python相关资源,

比如,Emmet安装就会先下载你系统位数一致的Python版本,我们在debug窗口可以看到这些信息:

其中有两条,表示下载失败,原因一般是网速慢请求超时或被墙了。

Emmet: Loading PyV8 binary from https://raw.github.com/emmetio/pyv8-binaries/master/pyv8-win64.zip

Emmet.pyv8loader: Unable to download package from https://raw.github.com/emmetio/pyv8-binaries/master/pyv8-win64.zip Wrong URL error

同时,pyv8下载失败会弹出一个提示框:

这时候,我们按照给出的zip包下载地址手动下载PyV8的安装包(PyV8的项目地址为https://github.com/emmetio/pyv8-binaries#readme,可以根据系统种类选择对应安装包),下载成功后打开菜单Preferences – Browser Packages,然后解压到子目录PyV8内。比如我的对应目录是D:\Program Files\Sublime Text2\Data\Packages\PyV8\win64(若你的是32位系统,最终目录则为win32)。

大多数情况,PyV8安装好了以后,再安装需要的其他插件便可顺利进行了。

情形三:无法调出Package Control或未安装PackageControl

首次安装或重新安装的方式是一样的,首先打开控制台(Ctrl+~),不过Sublime Text的版本不同,执行的命令是不一样的。

对于Sublime Text2输入以下命令执行:

  1. import urllib2,os,hashlib; h = 'eb2297e1a458f27d836c04bb0cbaf282' + 'd0e7a3098092775ccb37ca9d6b2e4b7d'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler()) ); by = urllib2.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); open( os.path.join( ipp, pf), 'wb' ).write(by) if dh == h else None; print('Error validating download (got %s instead of %s), please try manual install' % (dh, h) if dh != h else 'Please restart Sublime Text to finish installation')

对于Sublime Text 3需要输入如下的命令:

  1. import urllib.request,os,hashlib; h = 'eb2297e1a458f27d836c04bb0cbaf282' + 'd0e7a3098092775ccb37ca9d6b2e4b7d'; 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://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)

执行完后,Package Control安装成功。此时便可以调出PackageControl命令输入面板(Ctrl+Shift+P),输入install

除了使用上述命令安装法,还可手动安装,需要的可访问官网查看https://packagecontrol.io/installation#st3

 三、 安装官方原版

上面的问题解决了,但是想想这么强大的工具,这么多的问题,持怀疑态度。折腾了这么久再卸载了有点太可惜了。不过为了弄清楚问题根本,狠狠心,果断卸载了我一直使用的Sublime Text 2 某破解优化版,其中已集成了JsFormat,Alignment,Emmet等这些常用的插件。卸载后去官网下载了官方版本http://www.sublimetext.com/2

并安装完成。

这次安装,先不要着急打开Sublime Text。为了以后安装方便,决定不再使用系统默认的Packages安装路径C:\Users\Administrator\AppData\Roaming\Data,在Sublime Text2的安装目录下新建文件夹/Data,该文件夹创建完成后再打开Sublime Text程序,我们发现,Packages被安装在了当前创建的文件夹下(我的路径是D:\Program Files\Sublime Text 2\Data)。稍后把其他必备插件装全了,我们备份一下Sublime Text 2文件夹,这样以后走到哪都可以无须一步步重新安装,快速部署我们的Sublime Text环境。

这次安装了七八个插件,也没有出现一次上述错误,说明官方版本还是比较靠谱比较稳定的。虽然每个月都会弹出付费注册提示,不过不影响使用就这样用吧。有洁癖的我建议你安装Sublime Text 3,本人测试发现最新版这个破解版相对来说比国内流行的某v2版要稳定的多,不过支持ST3的插件目前相对少一些。

英文官方原版首次使用时,会有两个依赖包升级提示:

点“确定关闭”即可,无须理会。

Sublime Text 2 Install Package Debug的更多相关文章

  1. Sublime text 3 中Package Control 的安装与使用方法和解决Sublime Text 3不能正确显示中文的问题

    Sublime text 3 中Package Control 的安装与使用方法,英文好可以在这个网址看看, 下面简单的说明一下 : https://packagecontrol.io/install ...

  2. Sublime Text 3 Install Markdown Preview Plugins

    Sublime Text 3 Install Markdown Preview Plugins. [TOC] 前言 什么是Markdown Markdown是一种可以使用普通文本编辑器编写的标记语言, ...

  3. Sublime Text 3安装Package Control快速建立html5和xhtml文档

    Sublime Text 3安装Package Control快速建立html5和xhtml文档 先关闭Sublime text 3:第1步:下载sublime_package_control-mas ...

  4. Sublime Text 2 安装Package Control和插件的两种方法

    缘起 前几天系统刚刚还原了,重装完Sublime Text2再安装插件的时候可能是由于公司的网络环境的问题,各种报错,将解决方法记录下来.系统环境:Win7 x64 + Sublime Text2. ...

  5. Sublime Text 3 无法使用package control安装插件解决办法

    Crossing's Blog NOT Genius but Try Best 首页 分类 关于 归档 标签 问题貌似出现在liveStyle版本更新之后,因为打算安装javascript next和 ...

  6. 解决 mac 10.14.4 无法 sublime text 3207 安装 Package Control,以及安装第三方包报错 `Package Control There are no packages available for installation`

    下载最新的 sublime text 3207,无法安装 Package Control. 根据官方提示,手动安装 Package Control. 手动安装 Package Control 后,无法 ...

  7. Sublime Text 3 安装 Package Control

    1.打开sublime text 3 2.Ctrl+`打开控制台或者View->Show Console菜单打开命令行,输入下面这段代码后按Enter键 import urllib.reques ...

  8. sublime text 3和sublime text 2的 package control 插件 代码

    SECURITY NOTICE: The Python code used by this method does not use SSL because Sublime Text on Linux ...

  9. 解决Sublime Text 3 的 Package Control 启动失败问题

    今天在使用Sublime Text的时候,需要了这样的情况         遇到这个问题的时候   我是这样解决的 一. 首先 找到 Package Control的下载地址1  下载地址2.将下载下 ...

随机推荐

  1. js笔记系列之--时间及时间戳

    js入门系列之 时间及时间戳 时间及时间戳 时间及时间戳是js里面很常见的一个概念,在我们写前端页面的时候,经常会遇到需要获取当前时间的情况,所以,了解js中的时间概念非常重要.而时间戳是指格林威治时 ...

  2. 前端每日实战:4# 视频演示如何用纯 CSS 创作一个金属光泽 3D 按钮特效

    效果预览 按下右侧的"点击预览"按钮在当前页面预览,点击链接全屏预览. https://codepen.io/zhang-ou/full/MGeRRO 可交互视频教程 此视频是可以 ...

  3. 前端每日实战:8# 视频演示如何用纯 CSS 创作一个充电 loader 特效

    效果预览 按下右侧的"点击预览"按钮在当前页面预览,点击链接全屏预览. https://codepen.io/zhang-ou/pen/deNqdV 可交互视频教程 此视频是可以交 ...

  4. Feign 客户端的使用 二

    一.Feign的使用(客户端调用 json/xml格式的接口) 1.服务端接口编写 <parent> <groupId>org.springframework.boot< ...

  5. swoole websocket_server 聊天室--群聊

    centos7  php7.2 swoole4.3 nginx1.8 websocket_server 代码 <?php $server = new Swoole\WebSocket\Serve ...

  6. 程序员过关斩将-- 喷一喷坑爹的面向UI编程

    摒弃面向UI编程 为何喷起此次话题,因为前不久和我们首席架构师沟通,谈起程序设计问题,一不小心把UI扯进来,更把那些按照UI来编程的后台工程师也扯了进来.今天特意百度了一下(其实程序员应该去googl ...

  7. docker报错Error response from daemon: driver failed programming external connectivity on endpoint *

    服务端 通常会显示 port xxx allocated的,意思就是 xxx 端口被占用了. 如果报port allocated端口占用,就docker ps 查看正使用的镜像,docker kill ...

  8. vue-router需要注意的点

    1.在编程式导航中,如果提供了path,params会被忽略:需要提供name,或手写完整的带有参数的path;以下写法可取: const  userId = '123'; 1.this.$route ...

  9. 手动搭建webpack + vue项目之初体验

    在使用vue做开发时,大部分人只会使用官方提供的脚手架搭建项目,脚手架虽然很好用,但想要成为一名优秀的前端开发者,webpack这一道坎是绕不开的,所以我们要学会脱离脚手架,利用webpack手动搭建 ...

  10. C语言二进制拼接 (整数和byte类型的字符串拼接)

    #include <iostream>#include <cstring>#include <cstdio> using namespace std; typede ...