Pkg(3): develop package which depends on local/unregistered package

No, that did not work. I tried Pkg.clone(urltoPkg) at the Julia prompt. Got a message about this being a legacy action. Something was downloaded to an unknown location and the Project and Manifest files in the environment directory were altered. I don’t know if this has caused problems. But, I find the following in the README for Pkg

If you want to develop this package do the following steps:
- Clone the repo anywhere.
- Remove the `uuid = ` line from the `Project.toml` file.
- Change the current directory to the Pkg repo you just cloned and start julia with `julia --project`.
- `import Pkg` will now load the files in the cloned repo instead of the Pkg stdlib .
- To test your changes, simple `include("test/runtests.jl")`.

as an alternative, which seems to work. Before, I understood “remove the uuid from Project.toml” to be referring to the file in environment directory, so I removed it. Now, I see it is referring to the Pkg repo.

Something like this should appear in the documentation somewhere, I think.

2 Likes

I just tried these steps, but it seems like I don’t have the init command:

julia> VERSION
v"0.7.0-rc2.0"
shell> cd ~/LinearFractional.jl/
(v0.7) pkg> init
ERROR: invalid command: "init"

Was this changed to something else in rc2?

This doesn’t answer my exact question above, but following [ANN] Introducing Upgradathon Fridays - #3 by fredrikekre is working better for me. To start upgrading a [private] 0.6 package to 0.7 directly, I use develop on the remote git repo URL and then start working on the upgrade in my ~/.julia/dev/ directory.

1 Like