# Unable to use PkgDev with Julia 0.7.0-DEV

**URL:** <https://discourse.julialang.org/t/unable-to-use-pkgdev-with-julia-0-7-0-dev/9998>\
**Category:** General Usage\
**Created:** [March 27, 2018, 12:53am UTC](https://discourse.julialang.org/t/unable-to-use-pkgdev-with-julia-0-7-0-dev/9998 "2018-03-27T00:53:52Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![jandehaan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jandehaan/32/6805_2.png) [@jandehaan](https://discourse.julialang.org/u/jandehaan)\
**Post date:** [March 27, 2018, 12:53am UTC](https://discourse.julialang.org/t/unable-to-use-pkgdev-with-julia-0-7-0-dev/9998/1 "2018-03-27T00:53:53Z")

</div>

I wanted to give Julia version 0.7 a try and update a package I developed as required. I got stuck rather quickly.

```julia
#=
Downloaded and installed Julia 0.7
   Version 0.7.0-DEV.4690 (2018-03-23 22:25 UTC)
   Commit 78c7d87369* (3 days old master)
   x86_64-w64-mingw32
=#
# Julia console:
julia> Pkg.add("PkgDev")
julia> using PkgDev
ERROR: LoadError: LoadError: ArgumentError: Module Main not found in current path.
ERROR: Failed to precompile PkgDev to C:\Users\Owner\.julia\compiled\v0.7\PkgDev.ji.

```

Any suggestions?

---

<div class="post-metadata">

**Author:** ![Nosferican](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nosferican/32/9275_2.png) [@Nosferican](https://discourse.julialang.org/u/Nosferican)\
**Post date:** [March 27, 2018, 1:17am UTC](https://discourse.julialang.org/t/unable-to-use-pkgdev-with-julia-0-7-0-dev/9998/2 "2018-03-27T01:17:42Z")

</div>

The package manager for Julia 0.7 will be the current [Pkg3](https://github.com/JuliaLang/julia/tree/master/stdlib/Pkg3) and not the future renamed Pkg2 which is the package manager for Julia 0.6. The API will be very similar, but the underlying structure is very different. For now the best resource would be the [latest documentation](https://docs.julialang.org/en/latest/stdlib/Pkg3/#), following [Pkg3 Plan and Status Discourse post](https://discourse.julialang.org/t/pkg3-plan-and-status/9763), the [stdlib repository](https://github.com/JuliaLang/julia/tree/master/stdlib/Pkg3) or reaching out to the main author @StefanKarpinski. PkgDev functionalities seem to be included in the package manager as it was before PkgDev.

---

<div class="post-metadata">

**Author:** ![jandehaan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jandehaan/32/6805_2.png) [@jandehaan](https://discourse.julialang.org/u/jandehaan)\
**Post date:** [March 27, 2018, 1:43am UTC](https://discourse.julialang.org/t/unable-to-use-pkgdev-with-julia-0-7-0-dev/9998/3 "2018-03-27T01:43:41Z")

</div>

Thank you for the pointers. It got me past this hurdle. But I can already see that the new learning curve will be interesting to say the least 😣

---

<div class="post-metadata">

**Author:** ![DrKrar](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/drkrar/32/3801_2.png) [@DrKrar](https://discourse.julialang.org/u/DrKrar)\
**Post date:** [April 11, 2018, 8:44pm UTC](https://discourse.julialang.org/t/unable-to-use-pkgdev-with-julia-0-7-0-dev/9998/4 "2018-04-11T20:44:27Z")

</div>

does this mean for 0.7-dev that Pkg and Pkg3 are different thins or they intersect somewhere or else Pkg3 replace both Pkg and PkgDev.

---

<div class="post-metadata">

**Author:** ![galenlynch](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/galenlynch/32/17947_2.png) [@galenlynch](https://discourse.julialang.org/u/galenlynch)\
**Post date:** [August 8, 2018, 3:15pm UTC](https://discourse.julialang.org/t/unable-to-use-pkgdev-with-julia-0-7-0-dev/9998/5 "2018-08-08T15:15:40Z")

</div>

How are package maintainers supposed to tag new versions in Julia 0.7?

---

<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:** [August 8, 2018, 3:22pm UTC](https://discourse.julialang.org/t/unable-to-use-pkgdev-with-julia-0-7-0-dev/9998/6 "2018-08-08T15:22:40Z")

</div>

Use [https://github.com/attobot/attobot](https://github.com/attobot/attobot)

---

<div class="post-metadata">

**Author:** ![galenlynch](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/galenlynch/32/17947_2.png) [@galenlynch](https://discourse.julialang.org/u/galenlynch)\
**Post date:** [August 8, 2018, 3:26pm UTC](https://discourse.julialang.org/t/unable-to-use-pkgdev-with-julia-0-7-0-dev/9998/7 "2018-08-08T15:26:54Z")

</div>

Is this also how people are supposed to publish new packages? The official documentation (at least [coad-loading](https://docs.julialang.org/en/stable/manual/code-loading/), [Pkg](https://docs.julialang.org/en/stable/stdlib/Pkg/), and [modules](https://docs.julialang.org/en/stable/manual/modules/)) seems to be missing information about registering and tagging packages with the new package manager.

---

<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:** [August 8, 2018, 3:30pm UTC](https://discourse.julialang.org/t/unable-to-use-pkgdev-with-julia-0-7-0-dev/9998/8 "2018-08-08T15:30:49Z")

</div>

Yes for now.

---

<div class="post-metadata">

**Author:** ![galenlynch](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/galenlynch/32/17947_2.png) [@galenlynch](https://discourse.julialang.org/u/galenlynch)\
**Post date:** [August 8, 2018, 3:30pm UTC](https://discourse.julialang.org/t/unable-to-use-pkgdev-with-julia-0-7-0-dev/9998/9 "2018-08-08T15:30:56Z")

</div>

Also, does the required use of attobot for tagging packages mean that you can no longer tag private packages not hosted on github?

---

<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:** [August 8, 2018, 3:32pm UTC](https://discourse.julialang.org/t/unable-to-use-pkgdev-with-julia-0-7-0-dev/9998/10 "2018-08-08T15:32:17Z")

</div>

It is not required, you can make a PR to METADATA yourself.

---

<div class="post-metadata">

**Author:** ![galenlynch](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/galenlynch/32/17947_2.png) [@galenlynch](https://discourse.julialang.org/u/galenlynch)\
**Post date:** [August 8, 2018, 3:37pm UTC](https://discourse.julialang.org/t/unable-to-use-pkgdev-with-julia-0-7-0-dev/9998/11 "2018-08-08T15:37:13Z")

</div>

I see, so METADATA is still the official registry, and [https://github.com/JuliaRegistries/General](https://github.com/JuliaRegistries/General) is just based off of it?

---

<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:** [August 8, 2018, 3:50pm UTC](https://discourse.julialang.org/t/unable-to-use-pkgdev-with-julia-0-7-0-dev/9998/12 "2018-08-08T15:50:32Z")

</div>

Yea, General is just a translation from METADATA. In the future you will register directly to General.

---

<div class="post-metadata">

**Author:** ![galenlynch](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/galenlynch/32/17947_2.png) [@galenlynch](https://discourse.julialang.org/u/galenlynch)\
**Post date:** [August 8, 2018, 3:52pm UTC](https://discourse.julialang.org/t/unable-to-use-pkgdev-with-julia-0-7-0-dev/9998/13 "2018-08-08T15:52:46Z")

</div>

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 8, 2018, 4:37pm UTC](https://discourse.julialang.org/t/unable-to-use-pkgdev-with-julia-0-7-0-dev/9998/14 "2018-08-08T16:37:25Z")

</div>

Is there a replacement for `PkgDev.publish` for making a PR when fixing bugs in a foreign package?

---

<div class="post-metadata">

**Author:** ![chakravala](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chakravala/32/6832_2.png) [@chakravala](https://discourse.julialang.org/u/chakravala)\
**Post date:** [August 14, 2018, 6:23pm UTC](https://discourse.julialang.org/t/unable-to-use-pkgdev-with-julia-0-7-0-dev/9998/15 "2018-08-14T18:23:53Z")

</div>

> [@tobias.knopp](#):
>
> Is there a replacement for `PkgDev.publish` for making a PR when fixing bugs in a foreign package?

If you have to, you can also checkout the repo on v0.6 and then use `PkgDev` in 0.6 to publish, it doesnt matter if the package code doesnt run in 0.6, `PkgDev` can still be used, just not on 0.7

---

<div class="post-metadata">

**Author:** ![sylvaticus](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sylvaticus/32/203883_2.png) [@sylvaticus](https://discourse.julialang.org/u/sylvaticus)\
**Post date:** [September 5, 2018, 1:31pm UTC](https://discourse.julialang.org/t/unable-to-use-pkgdev-with-julia-0-7-0-dev/9998/16 "2018-09-05T13:31:42Z")

</div>

In the long-term (without having to refer to Julia 0.6) which is the suggested approach to make PR to fix bugs in other people’s package ?

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [September 5, 2018, 1:40pm UTC](https://discourse.julialang.org/t/unable-to-use-pkgdev-with-julia-0-7-0-dev/9998/17 "2018-09-05T13:40:47Z")

</div>

1. [`pkg> dev ThatPackage`](https://julialang.github.io/Pkg.jl/latest/#Developing-packages-1) (assuming that is installed),

2. make a git branch in the local repository (will be in `~/.julia/dev/` by default),

3. test & commit your changes in that branch,

4. when satisfied,  
a. fork the original project on github,  
b. add your fork as a remote,  
c. push changes,  
d. make a PR from that.

5. this will run tests. repeat 3-4 until satisfied or as requested by code reviews.

All of this is fairly easy with proper IDE support for git (independently of Julia). If you IDE does not support git, [here’s a nickel](https://magit.vc/) 😉

---

<div class="post-metadata">

**Author:** ![sylvaticus](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sylvaticus/32/203883_2.png) [@sylvaticus](https://discourse.julialang.org/u/sylvaticus)\
**Post date:** [September 5, 2018, 2:42pm UTC](https://discourse.julialang.org/t/unable-to-use-pkgdev-with-julia-0-7-0-dev/9998/18 "2018-09-05T14:42:48Z")

</div>

“fairly easy”… that’s opinable… 😉  
Seriously, if there are plans to make something that automatize all that passages it would be better…  
Bdw, is suppose there are no differences between `dev ThatPackage` and `develop ThatPackage`? (I understood that `Pkg.dev()` doesn’t exists)

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [September 5, 2018, 2:51pm UTC](https://discourse.julialang.org/t/unable-to-use-pkgdev-with-julia-0-7-0-dev/9998/19 "2018-09-05T14:51:42Z")

</div>

Yep, `dev` is a shorthand and is identical to `develop` in the `pkg>` prompt.

I would suggest that you try the above workflow. It looks complicated before you do it, but it is fairly easy once you do it a few times. Also, being somewhat more hands-on allows you to deal with complications.
