ログってなんぼ

日々のメモです

SublimeText3 : PackageControlをProxy経由で使う方法と「There are no packages available for installation」エラーの対処

Sublime Text - Download はてなブックマーク - Sublime Text - Download

PackageControlが使えないSublimeTextなんてクリー(ry

ということで、Proxy環境からSublimeText3のPackageControlをセットアップするメモです。

パッケージコントロールのインストール

Installation - Package Control はてなブックマーク - Installation - Package Control
こちらのページにSublimeText3用のコードがあるので、まずそのコードをコピペしてエディタに貼り付けます。

import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404' + 'e330c659d4bb41d3bdf022e94cab3cd0'; 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://sublime.wbond.net/' + 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)

このコードにProxy関連の情報を追加します

編集後のコード

import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404' + 'e330c659d4bb41d3bdf022e94cab3cd0'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler({'http': 'http://[usename]:[password]@[proxy_url]:[proxy_port]','https': 'https://[usename]:[password]@[proxy_url]:[proxy_port]'})) ); by = urllib.request.urlopen( 'http://sublime.wbond.net/' + 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)

urllib.request.ProxyHandler() の中に

{'http': 'http://[usename]:[password]@[proxy_url]:[proxy_port]','https': 'https://[usename]:[password]@[proxy_url]:[proxy_port]'}

を追記する感じです。

PackageControlのインストール

先ほどのコードをSublimeText3のコンソールから実行します。

CTRL+@ を押してコンソールを出して、そこに上記コードをペーストしてEnter。

エラー無く終了すれば、インストール完了。

PackageControlの設定ファイルを編集

PackageControlがPackageを探したりダウンロードしたりするときに使うProxy情報は別途設定ファイルに書いておく必要があるので、PackageConrtolの設定ファイルを開いて、以下のように修正します。

f:id:Okisanjp:20160712161511p:plain

{
    "http_proxy": "http://[proxy_url]:[proxy_port]",
    "https_proxy": "https://[proxy_url]:[proxy_port]",
    "proxy_username": "[username]",
    "proxy_password": "[password]"
}

後は使うだけ

あとは、Ctrl+Shift+P から install とインクリメントサーチすればパッケージのインストールが見えるはずなのでEnterで呼び出して使うだけです。

f:id:Okisanjp:20160712161521p:plain

もしエラーが出たら

Windows版限定情報になっちゃいますが、パッケージインストールの呼び出し時に

There are no packages available for installation
Package Control: Error downloading channel. Error checking for server certificate revocation (errno 12057) during HTTP write phase of downloading https://sublime.wbond.net/channel.json.
error: Package Control

There are no packages available for installation

このようなエラーが出てパッケージのリストが取得できなかった場合は、InternetExplorerの設定で

f:id:Okisanjp:20160712161529p:plain

「サーバーの証明書失効を確認する」のチェックをOFFにするとうまくいく場合があります。

以上、メモでした。