# Pkg.update fail SSL

**URL:** <https://discourse.julialang.org/t/pkg-update-fail-ssl/114305>\
**Category:** General Usage\
**Created:** [May 15, 2024, 3:57pm UTC](https://discourse.julialang.org/t/pkg-update-fail-ssl/114305 "2024-05-15T15:57:22Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![daro.slai](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/daro.slai/32/48757_2.png) [@daro.slai](https://discourse.julialang.org/u/daro.slai)\
**Post date:** [May 15, 2024, 3:57pm UTC](https://discourse.julialang.org/t/pkg-update-fail-ssl/114305/1 "2024-05-15T15:57:22Z")

</div>

Hi everyone,  
I’m trying to `Pkg.update()` a project / env I’m working on and I get the following error:

```julia
ERROR: 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, but your environment specifies one via the 
SSL_CERT_FILE variable. If you believe your system's root certificates are safe to use, you can `export JULIA_SSL_CA_ROOTS_PATH=""` in your environment to use those instead.)

```

I was working on the 1.10.2 version and tried updating `juliaup` to 1.10.3. This is the current installation info:

```julia
julia> versioninfo()
Julia Version 1.10.3
Commit 0b4590a550 (2024-04-30 10:59 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Windows (x86_64-w64-mingw32)
  CPU: 8 × 11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, tigerlake)
Threads: 4 default, 0 interactive, 2 GC (on 8 virtual cores)
Environment:
  JULIA_NUM_THREADS = 4
  JULIA_EDITOR = code

```

I’ve been working in this environment for more than a 1 year and I haven’t made any significant changes recently. What might have triggered this error?

---

<div class="post-metadata">

**Author:** ![mkitti](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mkitti/32/12459_2.png) [@mkitti](https://discourse.julialang.org/u/mkitti)\
**Post date:** [May 15, 2024, 5:03pm UTC](https://discourse.julialang.org/t/pkg-update-fail-ssl/114305/2 "2024-05-15T17:03:37Z")

</div>

> [@daro.slai](#):
>
> `SSL_CERT_FILE`

Is this environment variable set?

What is the output of `ENV["SSL_CERT_FILE"]` in Julia?

---

<div class="post-metadata">

**Author:** ![daro.slai](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/daro.slai/32/48757_2.png) [@daro.slai](https://discourse.julialang.org/u/daro.slai)\
**Post date:** [June 5, 2024, 2:50pm UTC](https://discourse.julialang.org/t/pkg-update-fail-ssl/114305/3 "2024-06-05T14:50:21Z")

</div>

its  
`C:\\Users\\userID\\Anaconda3\\Library\\ssl\\cacert.pem`  
when running it from this particular env.  
From base 1.10 i get:

```julia
julia> ENV["SSL_CERT_FILE"]
ERROR: KeyError: key "SSL_CERT_FILE" not found
Stacktrace:
 [1] (::Base.var"#717#718")(k::String)
   @ Base .\env.jl:156
 [2] access_env(onError::Base.var"#717#718", str::String)
   @ Base .\env.jl:32
 [3] getindex(::Base.EnvDict, k::String)
   @ Base .\env.jl:156
 [4] top-level scope
   @ REPL[1]:1

```

---

<div class="post-metadata">

**Author:** ![daro.slai](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/daro.slai/32/48757_2.png) [@daro.slai](https://discourse.julialang.org/u/daro.slai)\
**Post date:** [June 5, 2024, 2:56pm UTC](https://discourse.julialang.org/t/pkg-update-fail-ssl/114305/4 "2024-06-05T14:56:58Z")

</div>

Moreover, when trying to update particular packages in the environment I get the following error:

```julia
my_env> status
Status `C:\Users\userID\OneDrive\Project.toml`
  [336ed68f] CSV v0.10.14
⌃ [13f3f980] CairoMakie v0.11.10
⌃ [35d6a980] ColorSchemes v3.24.0
  [a93c6f00] DataFrames v1.6.1
  [0c46a032] DifferentialEquations v7.13.0
⌃ [31c24e10] Distributions v0.25.108
⌃ [e9467ef8] GLMakie v0.9.10
  [cc18c42c] GaussianMixtures v0.3.9
  [e4b2fa32] GaussianRandomFields v2.2.4
  [87dc4568] HiGHS v1.9.0
⌃ [20393b10] InfiniteOpt v0.5.8
  [a98d9a8b] Interpolations v0.15.1
  [b6b21f68] Ipopt v1.6.2
  [c8e1da08] IterTools v1.10.0
  [0f8b85d8] JSON3 v1.14.0
⌃ [4076af6c] JuMP v1.21.1
  [67920dd8] KNITRO v0.14.2
  [b964fa9f] LaTeXStrings v1.3.1
⌃ [23992714] MAT v0.10.6
⌅ [ee78f7c6] Makie v0.20.9
⌃ [b8f27783] MathOptInterface v1.29.0
  [01bcebdf] Nonconvex v2.1.3
  [bf347577] NonconvexIpopt v0.4.3
  [b43a31b8] NonconvexNLopt v0.1.8
  [d96e819e] Parameters v0.12.3
⌃ [ccf2f8ad] PlotThemes v3.1.0
  [995b91a9] PlotUtils v1.4.1
  [c46f51b8] ProfileView v1.7.2
  [295af30f] Revise v3.5.14
  [c946c3f1] SCS v2.0.0
  [99342f36] StateSpaceModels v0.6.7
⌅ [2913bbd2] StatsBase v0.33.21
  [f3b207a7] StatsPlots v0.15.7
  [9e3dc215] TimeSeries v0.24.2
  [fdbf4ff8] XLSX v0.10.1
  [37e2e46d] LinearAlgebra
  [9a3f8284] Random
  [10745b16] Statistics v1.10.0
Info Packages marked with ⌃ and ⌅ have new versions available. Those with ⌃ may be upgradable, but those with ⌅ are restricted by 
compatibility constraints from upgrading. To see why use `status --outdated`

```

if I try to update Makie, for example,

```julia
(my_env) pkg> update Makie
    Updating registry at `C:\Users\userID\.julia\registries\General.toml`
ERROR: Unsatisfiable requirements detected for package Pixman_jll [30392449]:
 Pixman_jll [30392449] log:
 ├─possible versions are: 0.38.4-0.43.4 or uninstalled
 ├─restricted to versions 0.42.2 by an explicit requirement, leaving only versions: 0.42.2
 └─restricted by compatibility requirements with Cairo_jll [83423d85] to versions: 0.43.4 — no versions left
   └─Cairo_jll [83423d85] log:
     ├─possible versions are: 1.14.12-1.18.0 or uninstalled
     └─restricted to versions 1.18.0 by an explicit requirement, leaving only versions: 1.18.0

```

---

<div class="post-metadata">

**Author:** ![mkitti](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mkitti/32/12459_2.png) [@mkitti](https://discourse.julialang.org/u/mkitti)\
**Post date:** [June 5, 2024, 3:26pm UTC](https://discourse.julialang.org/t/pkg-update-fail-ssl/114305/5 "2024-06-05T15:26:44Z")

</div>

Do you have an active (ana)conda environment active?

---

<div class="post-metadata">

**Author:** ![daro.slai](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/daro.slai/32/48757_2.png) [@daro.slai](https://discourse.julialang.org/u/daro.slai)\
**Post date:** [June 6, 2024, 8:20am UTC](https://discourse.julialang.org/t/pkg-update-fail-ssl/114305/6 "2024-06-06T08:20:18Z")

</div>

in the same folder you mean?

---

<div class="post-metadata">

**Author:** ![Dominic\_Pazzula](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dominic_pazzula/32/12783_2.png) [@Dominic\_Pazzula](https://discourse.julialang.org/u/Dominic_Pazzula)\
**Post date:** [July 19, 2024, 7:13pm UTC](https://discourse.julialang.org/t/pkg-update-fail-ssl/114305/7 "2024-07-19T19:13:47Z")

</div>

I have the same issue attempting to include a locally developed package, and yes, there is an active Conda environment running through PyCall.jl

---

<div class="post-metadata">

**Author:** ![daro.slai](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/daro.slai/32/48757_2.png) [@daro.slai](https://discourse.julialang.org/u/daro.slai)\
**Post date:** [July 29, 2024, 6:39pm UTC](https://discourse.julialang.org/t/pkg-update-fail-ssl/114305/8 "2024-07-29T18:39:26Z")

</div>

Hi!  
Long time on this.  
In the end my issue stem from the following.  
My project env. is a OneDrive folder which I regularly use from my laptop (analysis) and a remote VM (for long simulations). The Julia version was different between the two and that screwed up the updates.

I updated both Julia installations to 1.10.4 and the issue was solved.
