Sublime Text 無法使用Package Control或外掛程式安裝失敗的解決方案

來源:互聯網
上載者:User

標籤:sublime text   package control   pyv8安裝   安裝失敗   快速鍵   

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 



Sublime Text 無法使用Package Control或外掛程式安裝失敗的解決方案

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.