# Package management of a package with different versions required by other packages

**URL:** https://discourse.julialang.org/t/package-management-of-a-package-with-different-versions-required-by-other-packages/74236
**Category:** Numerics
**Tags:** question, package
**Created:** [January 8, 2022, 9:50am UTC](https://discourse.julialang.org/t/package-management-of-a-package-with-different-versions-required-by-other-packages/74236 "2022-01-08T09:50:53Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![Xijiang\_Yu](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/xijiang_yu/32/14439_2.png) [@Xijiang\_Yu](https://discourse.julialang.org/u/Xijiang_Yu)
#### Post date: [January 8, 2022, 9:50am UTC](https://discourse.julialang.org/t/package-management-of-a-package-with-different-versions-required-by-other-packages/74236/1 "2022-01-08T09:50:53Z")

</div>

I recently had a trouble with package `Octavian`. Because it can deal with `BitArray` or Int8 matrix, it has a great advantage over BLAS. It made it possible to deal with much larger matrix than BLAS. The problem is that with current `Turing` installed, Julia can only install `VectorizationBase` of version v0.16.2. I am not sure what happened of this version, but Octavian gave wrong results of [`matmul`](https://github.com/JuliaLinearAlgebra/Octavian.jl/issues/129). After removing `Turing`, the problem was gone with `VectorizationBase` upgraded to v0.21.23.

I am wondering if there is a better way to do package management, either to be implemented , or there is one I don’t know.

---

<div class="post-metadata">

### Author: ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)
#### Post date: [January 8, 2022, 10:24am UTC](https://discourse.julialang.org/t/package-management-of-a-package-with-different-versions-required-by-other-packages/74236/2 "2022-01-08T10:24:50Z")

</div>

Create an issue for Turing.jl to allow the current version of VectorizationBase and thus Octavian.

---

<div class="post-metadata">

### Author: ![Xijiang\_Yu](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/xijiang_yu/32/14439_2.png) [@Xijiang\_Yu](https://discourse.julialang.org/u/Xijiang_Yu)
#### Post date: [January 8, 2022, 10:31am UTC](https://discourse.julialang.org/t/package-management-of-a-package-with-different-versions-required-by-other-packages/74236/3 "2022-01-08T10:31:11Z")

</div>

This is a solution. But this problem is a general one. I happened to find that my `Octavian` is giving wrong results. Otherwise it will stealthily damage my calculation results.

---

<div class="post-metadata">

### Author: ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)
#### Post date: [January 8, 2022, 10:34am UTC](https://discourse.julialang.org/t/package-management-of-a-package-with-different-versions-required-by-other-packages/74236/4 "2022-01-08T10:34:49Z")

</div>

There is no general solution. Octavian is cutting edge, alpha or beta quality software, and if you use it you must ensure the correctness of your results yourself.

---

<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: [January 8, 2022, 12:16pm UTC](https://discourse.julialang.org/t/package-management-of-a-package-with-different-versions-required-by-other-packages/74236/5 "2022-01-08T12:16:16Z")

</div>

If you need to guarantee a certain version of Octavian you can explicitly ask for it via `add Octavian@0.21` and will get an error if there’s a conflict.

If you’re on 1.7, your problem is likely that you are on a very old Turing version, as Turing doesn’t work yet on 1.7 so falls back on an old version.

Also if you happen to install your packages in the default environment but aren’t actually using Turing and Octavian at the same time, you can get around the conflict by working in project environments (which you should do in any case)

---

<div class="post-metadata">

### Author: ![Xijiang\_Yu](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/xijiang_yu/32/14439_2.png) [@Xijiang\_Yu](https://discourse.julialang.org/u/Xijiang_Yu)
#### Post date: [January 8, 2022, 9:32pm UTC](https://discourse.julialang.org/t/package-management-of-a-package-with-different-versions-required-by-other-packages/74236/6 "2022-01-08T21:32:33Z")

</div>

At the moment, I installed two version of Julia (1.6.5 & 1.7.1) as a solution.
