自從開始使用 Mac 時,Sublime text 就是自己愛用的文字編輯器,基本上 PHP 的網站製作從 Sublime text 2 用到了 4,前年發現更新 mac 之後突然無法使用 package contol 的功能了。最近才有辦法解決,筆記一下,附上解決邏輯:
首先先更新一下,看是否有需要更新。
備份設定檔案、外掛檔案:
開啟 Top Bar 上的「Sublime Text」->「Settings」-> 「Browse Packages…」,會開啟 finder 得到一個路徑,返回上一頁把 Sublime Text 資料夾的東西先備份起來,可能會用到 Installed Packages 和 Packages 這兩個資料夾,放的是外掛檔案設定。
查看 sublime text 上的 log:
重新開啟,點開 Top Bar 上的 「View」,選擇「Show Console」,會顯示 runtime 的執行訊息。
—
至此我發現錯誤訊息:
AttributeError: dlsym(0x7f876fc44440, EVP_PKEY_size): symbol not found
查資料找到這篇文章,看起來是因為更新 Mac 產生 OpenSSL 的問題:
[ST3/4] Package Control not working on macOS · Issue #1612 · wbond/package_control
github.comI tried instaling the Package Control via Command Palette and even manually but it was not working, after some debugging I found that the ctypes file for python3.3 are not being correctly loaded …
附上文章內提供的解決方法翻譯:
簡單來說,在 console 中執行這段指令(使用 urllib 透過 sublime 自帶的 ssl )重新安裝 Package Control 即可:
from urllib.request import urlretrieve;urlretrieve(url="https://github.com/wbond/package_control/releases/latest/download/Package.Control.sublime-package", filename=sublime.installed_packages_path() + '/Package Control.sublime-package')
安裝以後依照提示,裝置會需要重啟兩三次。
而我有因為有把 Sublime Text 重新安裝,如果操作上資料會消失的話,可使用備份把檔案放回去即可。
以上。我認真覺得 Sublime Text 是一個輕便好用的編輯器,尤其是同時需要開其他 IDE 或是編輯器的時候,電腦不起飛阿。