標籤: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或外掛程式安裝失敗的解決方案