# Unsatisfiable requirements (at installing specified package)

**URL:** <https://discourse.julialang.org/t/unsatisfiable-requirements-at-installing-specified-package/97052>\
**Category:** General Usage\
**Tags:** package-manager\
**Created:** [April 4, 2023, 9:29am UTC](https://discourse.julialang.org/t/unsatisfiable-requirements-at-installing-specified-package/97052 "2023-04-04T09:29:56Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![Marcell\_Havlik](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/marcell_havlik/32/37424_2.png) [@Marcell\_Havlik](https://discourse.julialang.org/u/Marcell_Havlik)\
**Post date:** [April 4, 2023, 9:29am UTC](https://discourse.julialang.org/t/unsatisfiable-requirements-at-installing-specified-package/97052/1 "2023-04-04T09:29:56Z")

</div>

Hi guys,  
For me this is pretty nonsense and just cannot understand what is going on. I want to use the HTTP@1.7.4 version as I got downgraded somehow to a very low package that doesn1t support literally anything. What can I do to upgrade if I get the following error:

 ![image](https://global.discourse-cdn.com/julialang/original/3X/b/c/bc1dad508ab629fa331aeb0c0ee69dd480dcb506.png)

The problem is that I don’t have Temporal installed on the system but it writes that it doesn’t allow it to upgrade it due to that unknown package? What can I do in this case?

---

<div class="post-metadata">

**Author:** ![kellertuer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kellertuer/32/220707_2.png) [@kellertuer](https://discourse.julialang.org/u/kellertuer)\
**Post date:** [April 4, 2023, 9:47am UTC](https://discourse.julialang.org/t/unsatisfiable-requirements-at-installing-specified-package/97052/2 "2023-04-04T09:47:54Z")

</div>

Are you sure you do not have `Temporal.jl` installed – maybe as a dependency of some other package? It has even an open PR since its compat entry (`0.9`) is a bit outdated. For now I could not find which package you might use that depends on Temporal – but the package that did, pushed you back to `HTTP.jl@0.9` it seems.

---

<div class="post-metadata">

**Author:** ![Marcell\_Havlik](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/marcell_havlik/32/37424_2.png) [@Marcell\_Havlik](https://discourse.julialang.org/u/Marcell_Havlik)\
**Post date:** [April 4, 2023, 3:27pm UTC](https://discourse.julialang.org/t/unsatisfiable-requirements-at-installing-specified-package/97052/3 "2023-04-04T15:27:52Z")

</div>

`Indicator.jl` was who required the `Temporal.jl`. But I don’t know how could I find out this dependency information? So the error message is pretty much deceiving as the package isn’t installed and I don’t see dependency search function. ☹  
I figured it out by checking each of my packages what could use a package like Temporal for now.

I think this should be improved somehow in the future.

---

<div class="post-metadata">

**Author:** ![kellertuer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kellertuer/32/220707_2.png) [@kellertuer](https://discourse.julialang.org/u/kellertuer)\
**Post date:** [April 4, 2023, 3:30pm UTC](https://discourse.julialang.org/t/unsatisfiable-requirements-at-installing-specified-package/97052/4 "2023-04-04T15:30:08Z")

</div>

I looked at JuliaHub, [JuliaHub](https://juliahub.com/ui/Packages/Indicators/0sN6c/0.8.2) but was like “Ah, no, he did no use that, most probably…” otherwise you can also just check the `Project.toml` of each package in their repository to see what they depend on.

---

<div class="post-metadata">

**Author:** ![Marcell\_Havlik](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/marcell_havlik/32/37424_2.png) [@Marcell\_Havlik](https://discourse.julialang.org/u/Marcell_Havlik)\
**Post date:** [April 4, 2023, 3:33pm UTC](https://discourse.julialang.org/t/unsatisfiable-requirements-at-installing-specified-package/97052/5 "2023-04-04T15:33:25Z")

</div>

Anyway… we have to imporve 2-3 feature yet for julia to be much better for newcomers. It is a little bit hard to find out at the moment. (It is fancy but… not comprehensive yet. Also could give some automatised solution like `force install` so “rm packages that blocks it”, or url link to resolve a problem like this. Or even more (ignore compat issues and install anyway 😃 ) )

---

<div class="post-metadata">

**Author:** ![kellertuer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kellertuer/32/220707_2.png) [@kellertuer](https://discourse.julialang.org/u/kellertuer)\
**Post date:** [April 4, 2023, 3:41pm UTC](https://discourse.julialang.org/t/unsatisfiable-requirements-at-installing-specified-package/97052/6 "2023-04-04T15:41:07Z")

</div>

For understanding the error message, there is an explanation at  
[https://pkgdocs.julialang.org/v1/managing-packages/#conflicts](https://pkgdocs.julialang.org/v1/managing-packages/#conflicts)  
but to find the dependency I did not find much in the docs.  
I try to avoid installing too many packages in global scope and use  
[https://pkgdocs.julialang.org/v1/environments/](https://pkgdocs.julialang.org/v1/environments/)  
to write some extend.

---

<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:** [April 4, 2023, 3:52pm UTC](https://discourse.julialang.org/t/unsatisfiable-requirements-at-installing-specified-package/97052/7 "2023-04-04T15:52:21Z")

</div>

I see that are you are using the base v1.9 environment as your operating environment. For me, this is mostly empty except for some common utilities which do not necessarily belong in other projects themselves (Revise, BenchmarkTools, etc.).

As for a `add --force` I think the better way to do that would be to make it easier to clone environments and maybe allow forcing on cloning. This way the original environment still is intact and functional, but you get a new environment that is related to the original environment but has your package.

Environment stacking might be able to help with this, but is also kind of hacky. I’m not sure what prevents conflicting package loads from occuring in that situation.

If you check your `LOAD_PATH` it usually looks like this:

```julia
julia> LOAD_PATH
3-element Vector{String}:
 "@"
 "@v#.#"
 "@stdlib"

julia> Base.load_path()
3-element Vector{String}:
 "C:\\...\\jl_oVp4ml\\Project.toml"
 "C:\\...\\.julia\\environments\\v1.8\\Project.toml"
 "C:\\...\\.julia\\j" ⋯ 29 bytes ⋯ "mingw32\\share\\julia\\stdlib\\v1.8"

```

This means that your current project stacks on your `v1.8` or `v1.9` environment in this case. In this case I have a temporary project via `] activate --temp`. If I add a package to my current temporary environment, it will take precedence over the `v1.9` environment.

---

<div class="post-metadata">

**Author:** ![Marcell\_Havlik](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/marcell_havlik/32/37424_2.png) [@Marcell\_Havlik](https://discourse.julialang.org/u/Marcell_Havlik)\
**Post date:** [April 4, 2023, 3:54pm UTC](https://discourse.julialang.org/t/unsatisfiable-requirements-at-installing-specified-package/97052/8 "2023-04-04T15:54:26Z")

</div>

For me a vizualization of the blockage in a tree or something could help resolve the whole problem. Would be a great next step in Julia development.

---

<div class="post-metadata">

**Author:** ![kellertuer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kellertuer/32/220707_2.png) [@kellertuer](https://discourse.julialang.org/u/kellertuer)\
**Post date:** [April 4, 2023, 4:56pm UTC](https://discourse.julialang.org/t/unsatisfiable-requirements-at-installing-specified-package/97052/9 "2023-04-04T16:56:29Z")

</div>

…dive into the details of `Pkg.jl` and implement it 🙂

---

<div class="post-metadata">

**Author:** ![aplavin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aplavin/32/222056_2.png) [@aplavin](https://discourse.julialang.org/u/aplavin)\
**Post date:** [April 4, 2023, 6:39pm UTC](https://discourse.julialang.org/t/unsatisfiable-requirements-at-installing-specified-package/97052/10 "2023-04-04T18:39:39Z")

</div>

The next (1.9) julia release will have the `]why` command, explaining why a package is installed:

```julia
pkg> why DataPipes
  AccessorsExtra → DataPipes
  FlexiGroups → DataPipes
  PyPlotUtils → DataPipes

```

---

<div class="post-metadata">

**Author:** ![nilshg](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nilshg/32/2283_2.png) [@nilshg](https://discourse.julialang.org/u/nilshg)\
**Post date:** [April 5, 2023, 6:41am UTC](https://discourse.julialang.org/t/unsatisfiable-requirements-at-installing-specified-package/97052/11 "2023-04-05T06:41:41Z")

</div>

Which works nicely in this case:

```julia
(jl_biX1Tp) pkg> why HTTP
  Indicators → Temporal → HTTP

```

But to be honest I’m a little surprised at the error message - normally the Pkg output is a bit intimidating but, with a bit of thinking, points you to the ultimate source of the problem. [Here]'s an example where I answered a SO question and broke down how to read the output.

In this case I would have expected something roughly like this:

```julia
Unsatisfiable requirements detected for package HTTP:
* Available versions 0.1 - 1.7.4
* Restricted to version 1.7.4 by an explicit requirement
* Restricted to versions 0.1 - 0.9 by compatibility requirements with package Temporal
* Temporal available version xx to yy
* Restricted to versions aa to bb by compatibility with Indicators

```

I’ll ping @kristoffer.carlsson to see if he has an idea why `Indicators` is not mentioned in the output at all.

---

<div class="post-metadata">

**Author:** ![Marcell\_Havlik](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/marcell_havlik/32/37424_2.png) [@Marcell\_Havlik](https://discourse.julialang.org/u/Marcell_Havlik)\
**Post date:** [April 12, 2023, 3:02pm UTC](https://discourse.julialang.org/t/unsatisfiable-requirements-at-installing-specified-package/97052/12 "2023-04-12T15:02:52Z")

</div>

@aplavin and @nilshg thank you for this. This is the Best step towards solving this solution, this is totally new to me. I am really glad that I ask something and someone always know something extremly crazy here! \<3
