Updating Julia Packages from Sublime Text / Terminus

I use Sublime Text as my editor for Julia. For almost everything it is perfect for me.

The only thing I can’t seem to do with Sublime Text on both my corporate Windows computer and my personal MacOS computer is update Julia packages using the Package REPL ] or Pkg.update() while using the Terminus terminal in Sublime Text. I get the following error on both operating systems:

GitError(Code:ERROR, Class:SSL, Your Julia is built with a SSL/TLS engine that libgit2 doesn't know how to configure to use a file or directory of certificate authority roots ...

I can run code just fine. And if I use the standard terminal apps on both operating systems, I can update the packages just fine.

Any hints or tips on how to get the package updates working using Terminus? Thanks.

Julia version? The same on Win and Mac?
Windows version? 7 or 10?

I am on Win 10, Julia 1.6 and up. No prob.

Away from computer at the moment, I think it is Julia 1.6.1. Win 10 pro latest release. MacOS latest release as well. Exact same error on both.

I don’t think this has anything to do with Sublime Text: ST does not bring its own libgit2, so conflict with the one that comes with Julia is not likely. I am running Julia 1.7.3 and the nightly 1.8.

I do have Sublime Merge as well. Not sure if that matters. I don’t know the technical specifics but I know there is some integration between the two. I may try to uninstall SM and see if that works.

I really don’t know what I am doing but I saw the NetworkOptions package.

Using built-in to Windows terminal: (I see similar results on the Mac as well)

julia> using NetworkOptions

julia> ca_roots()

julia> ca_roots_path()
"C:\\Julia\\julia-1.6.1\\share\\julia\\cert.pem"

Using Terminus in Sublime Text:

julia> ca_roots()                                                                                                                             
"C:\\Program Files\\Sublime Text\\Lib\\python3\\certifi\\cacert.pem"                                                                          
                                                                                                                                              
julia> ca_roots_path()                                                                                                                        
"C:\\Program Files\\Sublime Text\\Lib\\python3\\certifi\\cacert.pem"

Could this be the issue?

Good guess. Perhaps this might help? Package fetch issues with internal SSL certificate - #2 by yalwan-iqvia

1 Like

I’m wasn’t sure what to do with that.

Here is how I finally got it work after a bunch of trial and error:

In the error message it says about using export JULIA_SSL_CA_ROOTS_PATH="" .

On Windows, I took that to meaning using the Environmental variables in Windows GUI. So I created a variable for that and set it to “”. That didn’t work.

Solution

Works for both MacOS and Windows: It turns out adding the following to startup.jl works. I can now run the packages update from inside Terminus in Sublime Text.

ENV["JULIA_SSL_CA_ROOTS_PATH"] = ""
3 Likes

Hi,
I am struggling to get the connection between the editor and a REPL.
What is the trick?
Could you give some advice in the related thread: set-up-sublime-text-4-for-julia
Stefan

The connection, is that I’m using the Terminus package in Sublime Text as an embedded terminal. Without the above change I couldn’t run the Pkg update inside Terminus. As far as the other thread, I don’t use LSP. I like the updated auto-complete that is in the latest version of Sublime Text, and using Debugger and profiling from the command line (Terminus) works very well for me.

1 Like

Late to the party, but I just had this issue and realized it came from running Julia from a terminal where I’d activated a Conda environment, and ca_roots() pointed to a location in that environment’s folder. In my case deactivating the environment wasn’t enough, I had to kill the terminal and start a new one. Then everything worked as expected.