# How to install non-registered dependencies in Julia 0.7/1.0

**URL:** https://discourse.julialang.org/t/how-to-install-non-registered-dependencies-in-julia-0-7-1-0/13971
**Category:** General Usage
**Created:** [August 23, 2018, 10:42pm UTC](https://discourse.julialang.org/t/how-to-install-non-registered-dependencies-in-julia-0-7-1-0/13971 "2018-08-23T22:42:47Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![tobias.knopp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tobias.knopp/32/7551_2.png) [@tobias.knopp](https://discourse.julialang.org/u/tobias.knopp)
#### Post date: [August 23, 2018, 10:42pm UTC](https://discourse.julialang.org/t/how-to-install-non-registered-dependencies-in-julia-0-7-1-0/13971/1 "2018-08-23T22:42:47Z")

</div>

In Julia 0.6 it was possible to install non-registered dependencies while loading a package using this trick:

```julia
if !isdir(Pkg.dir("LinearSolver"))
  println("Installing LinearSolver...")
  Pkg.clone("https://github.com/tknopp/LinearSolver.jl.git")
end

```

In that case its my package `LinearSolver` that I use in a package called `MPIReco` (see here: [https://github.com/MagneticParticleImaging/MPIReco.jl/blob/master/src/MPIReco.jl#L4](https://github.com/MagneticParticleImaging/MPIReco.jl/blob/master/src/MPIReco.jl#L4))  
The trick of course was to put LinearSolver not into REQUIRE.

Now with 0.7 I need to put `LinearSolver` into REQUIRE and in turn installation fails due to the missing dependency. Is there really not solution ( I am fine with a workaround ) to this problem. Travis runs on this package and in turn I need a solution the does not require manual tweaking.

I would appreciate any solution. My packages are upgraded to 0.7 on a branch but this issue prevents me merging things to master.

Thank,

Tobi

---

<div class="post-metadata">

### Author: ![Keno](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/keno/32/285_2.png) [@Keno](https://discourse.julialang.org/u/Keno)
#### Post date: [August 23, 2018, 11:30pm UTC](https://discourse.julialang.org/t/how-to-install-non-registered-dependencies-in-julia-0-7-1-0/13971/2 "2018-08-23T23:30:43Z")

</div>

Unregistered dependencies can be specified by git url in manifests, so if you start using Project/Manifests for your package that should work fine.

---

<div class="post-metadata">

### Author: ![tobias.knopp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tobias.knopp/32/7551_2.png) [@tobias.knopp](https://discourse.julialang.org/u/tobias.knopp)
#### Post date: [August 23, 2018, 11:33pm UTC](https://discourse.julialang.org/t/how-to-install-non-registered-dependencies-in-julia-0-7-1-0/13971/3 "2018-08-23T23:33:35Z")

</div>

Thanks, but its still not clear how to do that. Is there a tutorial how I can convert my REQUIRE based project to a Project/Manfest based one?

---

<div class="post-metadata">

### Author: ![tobias.knopp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tobias.knopp/32/7551_2.png) [@tobias.knopp](https://discourse.julialang.org/u/tobias.knopp)
#### Post date: [August 23, 2018, 11:37pm UTC](https://discourse.julialang.org/t/how-to-install-non-registered-dependencies-in-julia-0-7-1-0/13971/4 "2018-08-23T23:37:49Z")

</div>

Is this to `activate` my project and then `add https://github.com/tknopp/LinearSolver.jl.git`?

---

<div class="post-metadata">

### Author: ![Keno](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/keno/32/285_2.png) [@Keno](https://discourse.julialang.org/u/Keno)
#### Post date: [August 23, 2018, 11:40pm UTC](https://discourse.julialang.org/t/how-to-install-non-registered-dependencies-in-julia-0-7-1-0/13971/5 "2018-08-23T23:40:24Z")

</div>

yes

---

<div class="post-metadata">

### Author: ![tobias.knopp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tobias.knopp/32/7551_2.png) [@tobias.knopp](https://discourse.julialang.org/u/tobias.knopp)
#### Post date: [August 23, 2018, 11:41pm UTC](https://discourse.julialang.org/t/how-to-install-non-registered-dependencies-in-julia-0-7-1-0/13971/6 "2018-08-23T23:41:23Z")

</div>

I will try thanks!

---

<div class="post-metadata">

### Author: ![tobias.knopp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tobias.knopp/32/7551_2.png) [@tobias.knopp](https://discourse.julialang.org/u/tobias.knopp)
#### Post date: [August 23, 2018, 11:42pm UTC](https://discourse.julialang.org/t/how-to-install-non-registered-dependencies-in-julia-0-7-1-0/13971/7 "2018-08-23T23:42:25Z")

</div>

( I hope REQUIRE will go away soon. Currently it confuses the entire situation more )

---

<div class="post-metadata">

### Author: ![tobias.knopp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tobias.knopp/32/7551_2.png) [@tobias.knopp](https://discourse.julialang.org/u/tobias.knopp)
#### Post date: [August 25, 2018, 7:46am UTC](https://discourse.julialang.org/t/how-to-install-non-registered-dependencies-in-julia-0-7-1-0/13971/8 "2018-08-25T07:46:59Z")

</div>

I still do not get this working. I get

```julia
(v0.7) pkg> dev https://github.com/MagneticParticleImaging/MPIReco.jl.git
  Updating git-repo `https://github.com/MagneticParticleImaging/MPIReco.jl.git`
[ Info: Assigning UUID cffeea2d-44ef-50d9-9a8a-3f5d8306ed6d to MPIReco
[ Info: Path `/Users/knopp/.julia/dev/MPIReco` exists and looks like the correct package, using existing path instead of cloning
 Resolving package versions...
ERROR: Unsatisfiable requirements detected for package LinearSolver [12d7aa1e]:
 LinearSolver [12d7aa1e] log:
 ├─LinearSolver [12d7aa1e] has no known versions!
 └─restricted to versions * by MPIReco [cffeea2d] — no versions left
   └─MPIReco [cffeea2d] log:
     ├─possible versions are: 0.0.0 or uninstalled
     └─MPIReco [cffeea2d] is fixed to version 0.0.0

```

---

<div class="post-metadata">

### Author: ![tobias.knopp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tobias.knopp/32/7551_2.png) [@tobias.knopp](https://discourse.julialang.org/u/tobias.knopp)
#### Post date: [August 25, 2018, 8:05am UTC](https://discourse.julialang.org/t/how-to-install-non-registered-dependencies-in-julia-0-7-1-0/13971/9 "2018-08-25T08:05:44Z")

</div>

@kristoffer.carlsson: I have tried every information that I have found on Discourse but do not get it going.

I have these three packages:

- [https://github.com/tknopp/LinearSolver.jl/tree/julia-0.7/src](https://github.com/tknopp/LinearSolver.jl/tree/julia-0.7/src)
- [https://github.com/MagneticParticleImaging/MPIFiles.jl/tree/julia-0.7/src](https://github.com/MagneticParticleImaging/MPIFiles.jl/tree/julia-0.7/src)
- [https://github.com/MagneticParticleImaging/MPIReco.jl/tree/julia-0.7/src](https://github.com/MagneticParticleImaging/MPIReco.jl/tree/julia-0.7/src)

All of them have no version, are unregistered, have a “julia-0.7” branch that is ported. I migrated REQUIRE to Manifest/Project by calling `generate` change version to 0.0.0 and than adding packages after activation.

In particular I did:

```julia
add https://github.com/MagneticParticleImaging/MPIFiles.jl.git#julia-0.7
add https://github.com/tknopp/LinearSolver.jl.git#julia-0.7

```

to mark the dependency of MPIReco in MPIFiles and LinearSolver. But I ran into the above error. I even tried master Pkg and that also did not resolve it.

---

<div class="post-metadata">

### Author: ![tobias.knopp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tobias.knopp/32/7551_2.png) [@tobias.knopp](https://discourse.julialang.org/u/tobias.knopp)
#### Post date: [August 25, 2018, 2:05pm UTC](https://discourse.julialang.org/t/how-to-install-non-registered-dependencies-in-julia-0-7-1-0/13971/10 "2018-08-25T14:05:38Z")

</div>

Do I need to make a release on unregistered projects? Is that the issue? In 0.6 one was just tracking the master branch without releases.

---

<div class="post-metadata">

### Author: ![tobias.knopp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tobias.knopp/32/7551_2.png) [@tobias.knopp](https://discourse.julialang.org/u/tobias.knopp)
#### Post date: [August 25, 2018, 7:08pm UTC](https://discourse.julialang.org/t/how-to-install-non-registered-dependencies-in-julia-0-7-1-0/13971/11 "2018-08-25T19:08:17Z")

</div>

I am totally lost here after trying out various things. Does anybody have a working example where package A depends on package B (both unregistered) and Travis runs successfully on packages A? Thats all I want.

---

<div class="post-metadata">

### Author: ![Sukera](https://avatars.discourse-cdn.com/v4/letter/s/ce7236/32.png) [@Sukera](https://discourse.julialang.org/u/Sukera)
#### Post date: [August 25, 2018, 7:54pm UTC](https://discourse.julialang.org/t/how-to-install-non-registered-dependencies-in-julia-0-7-1-0/13971/12 "2018-08-25T19:54:13Z")

</div>

When trying to `add` your MPIReco.jl package into a fresh environment, I already get this:

```julia
(tknopp) pkg> add https://github.com/MagneticParticleImaging/MPIReco.jl.git#julia-0.7
  Updating git-repo `https://github.com/MagneticParticleImaging/MPIReco.jl.git`
[ Info: Assigning UUID cffeea2d-44ef-50d9-9a8a-3f5d8306ed6d to MPIReco
 Resolving package versions...
ERROR: The following package names could not be resolved:
 * LinearAlgebra (not found in project, manifest or registry)
 * LinearSolver (not found in project, manifest or registry)
 * MPIFiles (not found in project, manifest or registry)
 * Random (not found in project, manifest or registry)
Please specify by known `name=uuid`.

```

Manually `add`ing those dependencies let’s me `add` MPIReco. Maybe those dependencies are mucked up somehow in your .tomls?

Also, it may not be related, but I’ve noticed both LinearSolver and MPIFiles specify julia 0.6 in their travis configs.

---

<div class="post-metadata">

### Author: ![tobias.knopp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tobias.knopp/32/7551_2.png) [@tobias.knopp](https://discourse.julialang.org/u/tobias.knopp)
#### Post date: [August 25, 2018, 7:56pm UTC](https://discourse.julialang.org/t/how-to-install-non-registered-dependencies-in-julia-0-7-1-0/13971/13 "2018-08-25T19:56:30Z")

</div>

yes I just changed back to the REQUIRE version in order to test travis. So I am not sure how this can muck up tomls.

---

<div class="post-metadata">

### Author: ![Sukera](https://avatars.discourse-cdn.com/v4/letter/s/ce7236/32.png) [@Sukera](https://discourse.julialang.org/u/Sukera)
#### Post date: [August 25, 2018, 8:00pm UTC](https://discourse.julialang.org/t/how-to-install-non-registered-dependencies-in-julia-0-7-1-0/13971/14 "2018-08-25T20:00:00Z")

</div>

Ah, I see! I’ve just cloned MPIReco.jl manually, renamed Project and Manifest.toml back and did `]activate .` and `]instantiate` - I’m still building dependencies, but I’ll let you know if an install works that way.

EDIT: Well instantiating works as expected, `st` also shows the correct branches. Trying to `dev` the cloned git folder in a fresh environment gives the same Error you’ve seen before with the `no versions left` message.

---

<div class="post-metadata">

### Author: ![tobias.knopp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tobias.knopp/32/7551_2.png) [@tobias.knopp](https://discourse.julialang.org/u/tobias.knopp)
#### Post date: [August 25, 2018, 8:15pm UTC](https://discourse.julialang.org/t/how-to-install-non-registered-dependencies-in-julia-0-7-1-0/13971/15 "2018-08-25T20:15:14Z")

</div>

yep, thats why I am asking for help. I can develop locally but I am looking for a solution that I can deploy on travis.

---

<div class="post-metadata">

### Author: ![Sukera](https://avatars.discourse-cdn.com/v4/letter/s/ce7236/32.png) [@Sukera](https://discourse.julialang.org/u/Sukera)
#### Post date: [August 25, 2018, 8:19pm UTC](https://discourse.julialang.org/t/how-to-install-non-registered-dependencies-in-julia-0-7-1-0/13971/16 "2018-08-25T20:19:06Z")

</div>

> <https://github.com/JuliaLang/julia/blob/cdd4e84ac921ea7a40b3968440d35a37134bb11c/stdlib/Pkg/src/GraphType.jl#L583>

Well, looks like it does! This needs more investigating.

EDIT: I suspect travis won’t work without fixing the “regular” workflow for adding your package - there’s obviously something wrong with the dependency declarations (although they look fine and should all be found as they’re declared in the Manifest).

---

<div class="post-metadata">

### Author: ![Ralph\_Smith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ralph_smith/32/10344_2.png) [@Ralph\_Smith](https://discourse.julialang.org/u/Ralph_Smith)
#### Post date: [August 25, 2018, 8:24pm UTC](https://discourse.julialang.org/t/how-to-install-non-registered-dependencies-in-julia-0-7-1-0/13971/17 "2018-08-25T20:24:59Z")

</div>

> [@tobias.knopp](#):
>
> Info: Assigning UUID cffeea2d-44ef-50d9-9a8a-3f5d8306ed6d to MPIReco

This is the sign of trouble. Pkg has dreamed up new UUIDs, ignoring the content of your repo Project files. Patching the environment Project and Manifest files with the correct UUIDs might help.

---

<div class="post-metadata">

### Author: ![Sukera](https://avatars.discourse-cdn.com/v4/letter/s/ce7236/32.png) [@Sukera](https://discourse.julialang.org/u/Sukera)
#### Post date: [August 25, 2018, 8:27pm UTC](https://discourse.julialang.org/t/how-to-install-non-registered-dependencies-in-julia-0-7-1-0/13971/18 "2018-08-25T20:27:08Z")

</div>

That’s unrelated - the packages are unregistered and that UUID is for the Top-level package they’re trying to `add` in the first place - it shouldn’t be referenced by any of its dependencies.

---

<div class="post-metadata">

### Author: ![tobias.knopp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tobias.knopp/32/7551_2.png) [@tobias.knopp](https://discourse.julialang.org/u/tobias.knopp)
#### Post date: [August 25, 2018, 8:31pm UTC](https://discourse.julialang.org/t/how-to-install-non-registered-dependencies-in-julia-0-7-1-0/13971/19 "2018-08-25T20:31:00Z")

</div>

I already use that UUID within the Project.toml of MPIReco.

---

<div class="post-metadata">

### Author: ![cstjean](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cstjean/32/1444_2.png) [@cstjean](https://discourse.julialang.org/u/cstjean)
#### Post date: [August 25, 2018, 8:41pm UTC](https://discourse.julialang.org/t/how-to-install-non-registered-dependencies-in-julia-0-7-1-0/13971/20 "2018-08-25T20:41:27Z")

</div>

> [@tobias.knopp](#):
>
> ```julia
> add https://github.com/MagneticParticleImaging/MPIFiles.jl.git#julia-0.7 
> add https://github.com/tknopp/LinearSolver.jl.git#julia-0.7
> 
> ```
> 
> to mark the dependency of MPIReco in MPIFiles and LinearSolver.

This is not what `add X#julia-0.7` does; it says that the _project_ (or package) depends on `X`, and that the _environment_ (i.e. Manifest) should track the `julia-0.7` branch. Since there’s only one environment active, that does not work as a general strategy (i.e. you could work in X’s environment, but then Y’s dependency on Z#julia-0.7 will be ignored). AFAIK, there’s no way to say that a _package_ depends on some branch of another package. However, you can still have an _environment_ in which all the branches you want are loaded:

> [@Lost with new Pkg3](https://discourse.julialang.org/t/lost-with-new-pkg3/13977/9):
>
> This works well for me: For each local package, activate path\_to\_package, then add path\_to\_dependency1 path\_to\_dependency2 ... In your top-level environment (eg. v0.7), dev path\_to\_package1, dev path\_to\_package2, etc. Then work from your top-level environment. Each package will know how to find its dependencies, and you just told Pkg that in the current (top-level) environment, you want to use the development version of all your packages. What really confused me was that (MyPackage) pkg\> ad…

[Next page](https://discourse.julialang.org/t/how-to-install-non-registered-dependencies-in-julia-0-7-1-0/13971.md?page=2)
