# REQUIRE - set upper limit in package

**URL:** <https://discourse.julialang.org/t/require-set-upper-limit-in-package/21022>\
**Category:** General Usage\
**Created:** [February 20, 2019, 7:17pm UTC](https://discourse.julialang.org/t/require-set-upper-limit-in-package/21022 "2019-02-20T19:17:27Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![holger](https://avatars.discourse-cdn.com/v4/letter/h/ed8c4c/32.png) [@holger](https://discourse.julialang.org/u/holger)\
**Post date:** [February 20, 2019, 7:17pm UTC](https://discourse.julialang.org/t/require-set-upper-limit-in-package/21022/1 "2019-02-20T19:17:27Z")

</div>

How do I set an upper limit in REQUIRE in my package?  
Example is that I want to use JuMP v0.18 and NOT 0.19.  
When adding `JuMP 0.18.5` to my REQUIRE, travis-ci still gives me an error because it uses 0.19.  
Thanks already in advance

---

<div class="post-metadata">

**Author:** ![fredrikekre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/fredrikekre/32/1688_2.png) [@fredrikekre](https://discourse.julialang.org/u/fredrikekre)\
**Post date:** [February 20, 2019, 7:31pm UTC](https://discourse.julialang.org/t/require-set-upper-limit-in-package/21022/2 "2019-02-20T19:31:13Z")

</div>

`JuMP 0.18 0.19`.

---

<div class="post-metadata">

**Author:** ![holger](https://avatars.discourse-cdn.com/v4/letter/h/ed8c4c/32.png) [@holger](https://discourse.julialang.org/u/holger)\
**Post date:** [February 20, 2019, 7:55pm UTC](https://discourse.julialang.org/t/require-set-upper-limit-in-package/21022/3 "2019-02-20T19:55:43Z")

</div>

Thank you, that worked. Do you know why does this exclude 0.19?  
Intuitively, if I just looked at `JuMP 0.18 0.19`, it would read to me as if I were to allow 0.18 AND 0.19, and not 0.18 and NOT 0.19?  
Also, is there any documentation on this? I was unable to find that anywhere.  
Thanks again.

---

<div class="post-metadata">

**Author:** ![StefanKarpinski](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stefankarpinski/32/24_2.png) [@StefanKarpinski](https://discourse.julialang.org/u/StefanKarpinski)\
**Post date:** [February 20, 2019, 8:04pm UTC](https://discourse.julialang.org/t/require-set-upper-limit-in-package/21022/4 "2019-02-20T20:04:32Z")

</div>

> [@holger](#):
>
> Do you know why does this exclude 0.19?

The REQUIRE format is defined to take closed/open intervals of versions. Seemed like a good idea but people seem to find it confusing.

---

<div class="post-metadata">

**Author:** ![rdeits](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rdeits/32/286_2.png) [@rdeits](https://discourse.julialang.org/u/rdeits)\
**Post date:** [February 20, 2019, 8:50pm UTC](https://discourse.julialang.org/t/require-set-upper-limit-in-package/21022/5 "2019-02-20T20:50:47Z")

</div>

Documentation of the REQUIRE format can be found here: [Packages · The Julia Language](https://docs.julialang.org/en/v0.6/manual/packages/#Requirements-Specification-1) Note that this is from the Julia 0.6 version of the manual. REQUIRE will eventually no longer be required for Julia 1.0 and up, but we’re currently in an awkward transition period where REQUIRE is still useful and necessary but not actually part of the Julia 1.0 manual.

---

<div class="post-metadata">

**Author:** ![StefanKarpinski](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stefankarpinski/32/24_2.png) [@StefanKarpinski](https://discourse.julialang.org/u/StefanKarpinski)\
**Post date:** [February 20, 2019, 9:05pm UTC](https://discourse.julialang.org/t/require-set-upper-limit-in-package/21022/6 "2019-02-20T21:05:22Z")

</div>

But we’re getting there! See: [https://github.com/JuliaComputing/Registrator.jl](https://github.com/JuliaComputing/Registrator.jl)
