shahcompbio/MultiModalMuSig.jl

MultiModalMuSig can be installed using old Pkg, but not the new (v1.1+) Pkg

Closed this issue · 2 comments

Dear @funnell , I think that Julia has made a significant change on the package manager Pkg. After Julia 1, it has two versions of Pkg.

The new Pkg (https://docs.julialang.org/en/v1/stdlib/Pkg/#Pkg-1), invoked by pressing "]" in Julia interactive session, cannot install MultiModalMuSig at all.
(v1.1) pkg> add MultiModalMuSig

[ Info: resolving package specifier MultiModalMuSig as a directory at ~/practice/3_Signature_Challenge/MultiModalMuSig.
Updating registry at ~/.julia/registries/General
Updating git-repo https://github.com/JuliaRegistries/General.git
Cloning git-repo MultiModalMuSig
ERROR: Git repository not found at 'MultiModalMuSig'

But if I use the old Syntax of Pkg, I can install MultiModalMuSig.

julia> import Pkg
julia> Pkg.add("MultiModalMuSig")

Resolving package versions...
Updating ~/.julia/environments/v1.1/Project.toml
[a66acb62] + MultiModalMuSig v0.1.0
Updating ~/.julia/environments/v1.1/Manifest.toml
[a66acb62] + MultiModalMuSig v0.1.0

I think what (v1.1)Pkg does is to create separate environments (in new Pkg they call it "project") just like Anaconda does. Within each project it has different version of packages, and I can safely install different versions of packages without facing with the "dependency hell" issue.

The old Pkg manager cannot install packages into separate project.

But since I'm a beginner for Julia and I just want to use your package, introducing different environment may be too complicated. So I'll close the issue for now.

Hi @WuyangFF95, I'm sorry that you are having difficulties with the installation! The new Pkg should have a default environment that you can install packages to, so it should work similar to the old way.

This part I think is odd because I can't think why it would be looking in this directory.

[ Info: resolving package specifier MultiModalMuSig as a directory at ~/practice/3_Signature_Challenge/MultiModalMuSig.

When you install the package it should look something like this:

(v1.1) pkg> add MultiModalMuSig
 Resolving package versions...
 Installed Parameters ─────── v0.10.3
 Installed MathProgBase ───── v0.7.7
 Installed SpecialFunctions ─ v0.7.2
 Installed CMake ──────────── v1.1.2
 Installed CMakeWrapper ───── v0.2.3
 Installed BinaryProvider ─── v0.5.4
 Installed MultiModalMuSig ── v0.1.0
 Installed URIParser ──────── v0.4.0
 Installed BinDeps ────────── v0.8.10
 Installed NLopt ──────────── v0.5.1
  Updating `~/.julia/environments/v1.1/Project.toml`
  [a66acb62] + MultiModalMuSig v0.1.0
  Updating `~/.julia/environments/v1.1/Manifest.toml`
  [9e28174c] + BinDeps v0.8.10
  [b99e7846] + BinaryProvider v0.5.4
  [631607c0] + CMake v1.1.2
  [d5fb7624] + CMakeWrapper v0.2.3
  [fdba3010] + MathProgBase v0.7.7
  [a66acb62] + MultiModalMuSig v0.1.0
  [76087f3c] + NLopt v0.5.1
  [d96e819e] + Parameters v0.10.3
  [276daf66] + SpecialFunctions v0.7.2
  [30578b45] + URIParser v0.4.0
  Building CMake ───────────→ `~/.julia/packages/CMake/nSK2r/deps/build.log`
  Building SpecialFunctions → `~/.julia/packages/SpecialFunctions/fvheQ/deps/build.log`
  Building NLopt ───────────→ `~/.julia/packages/NLopt/eqN9a/deps/build.log`

But I'm glad you got it installed eventually!