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输入下面命令运行:

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须要输入例如以下的命令:

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必备插件


补充几个必备的开发插件。不了解作用的自行查找吧。

必备的:Alignment,JsFormat,CSSComb,CTags,DocBlockr,Emmet。FileDiffs。SASS,LESS,SASS Build。Lessc,Git。SublimeLinter

另外还有几个不错的。能够选择使用:Terminal,Trimmer。ColorPicker,ConverToUTF8等。


五、补充知识

 

最后普及几个须要了解的知识:

1.所装的插件列表(有些不在里面)

D:\Program Files\Sublime Text2\Data\Packages\User\Package Control.sublime-settings

2. Package Control经常使用的命令InstallPackage (安装扩展)、List Packages (列出所有扩展)、Remove Package (移除扩展)、Upgrade Package (升级扩展)

3.插件热键冲突,能够自己定义改动:Preferences > Package Settings > Alignment(或其它插件名) > Key Bindding - User然后写入快捷键。(有些插件须要到安装文件夹下的配置文件改动)

4.有Package Control其它相关问题上。上github项目查找。

https://github.com/wbond/package_control/issues?q=is%3Aclosed

 

比方较常见的问题Package control fails to download new packages:

https://github.com/wbond/package_control/issues/736

5.列一下经常使用的快捷键

                                                                                           

Ctrl+D 选词 (重复按快捷键。就可以继续向下同一时候选中下一个同样的文本进行同一时候编辑)

Ctrl+G 跳转到对应的行

Ctrl+J 合并行(已选择须要合并的多行时)

Ctrl+L 选择整行(按住-继续选择下行)

Ctrl+M 光标移动至括号内開始或结束的位置

Ctrl+T 词互换

Ctrl+U 软撤销

Ctrl+P 查找当前项目中的文件和高速搜索。输入 @ 查找文件主标题/函数。或者输入 : 跳转到文件某行;

Ctrl+R 高速列出/跳转到某个函数

Ctrl+K Backspace 从光标处删除至行首

Ctrl+KB 开启/关闭側边栏

Ctrl+KK 从光标处删除至行尾

Ctrl+KT 折叠属性

Ctrl+KU 改为大写

Ctrl+KL 改为小写

Ctrl+K0 展开全部

Ctrl+Enter 插入行后(高速换行)

Ctrl+Tab 当前窗体中的标签页切换

Ctrl+Shift+A 选择光标位置父标签对儿

Ctrl+Shift+D 复制光标所在整行,插入在该行之前

ctrl+shift+F 在目录内查找。与普通编辑器不同的地方是sublime同意加入多个目录进行查找

Ctrl+Shift+K 删除整行

Ctrl+Shift+L 鼠标选中多行(按下快捷键),就可以同一时候编辑这些行

Ctrl+Shift+M 选择括号内的内容(按住-继续选择父括号)

Ctrl+Shift+P 打开命令面板

Ctrl+Shift+/ 凝视已选择内容

Ctrl+Shift+↑能够移动此行代码,与上行互换

Ctrl+Shift+↓能够移动此行代码,与下行互换

Ctrl+Shift+[ 折叠代码

Ctrl+Shift+] 展开代码

Ctrl+Shift+Enter 光标前插入行

Ctrl+PageDown 、Ctrl+PageUp 文件按开启的前后顺序切换

Ctrl+Z 撤销

Ctrl+Y 恢复撤销

Ctrl+F2 设置书签

Ctrl+/ 凝视整行(如已选择内容,同“Ctrl+Shift+/”效果)

Ctrl+鼠标左键 能够同一时候选择要编辑的多处文本

Shift+鼠标右键(或使用鼠标中键)能够用鼠标进行竖向多行选择

Shift+F2 上一个书签

Shift+Tab 去除缩进

Alt+Shift+1~9(非小键盘)屏幕显示相等数字的小窗体

Alt+. 闭合当前标签

Alt+F3 选中文本按下快捷键,就可以一次性选择所有的同样文本进行同一时候编辑

Tab 缩进 自己主动完毕

F2 下一个书签

F9 行排序(按a-z)

F11 全屏模式

很多其它快捷键请參考这篇文章http://blog.csdn.net/fovwin/article/details/9102731

关于Sublime Text的问题就说这么多。基本上汇总了自己使用一年多遇到的各种问题吧。分享出来,希望能对大家实用。

 

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

http://blog.csdn.net/freshlover/article/details/44261229 



posted @ 2017-04-20 09:26  lytwajue  阅读(7757)  评论(0编辑  收藏  举报