# Why do the removed packages surge back after Pkg.update()?

**URL:** <https://discourse.julialang.org/t/why-do-the-removed-packages-surge-back-after-pkg-update/11550>\
**Category:** General Usage\
**Tags:** question\
**Created:** [June 8, 2018, 8:49pm UTC](https://discourse.julialang.org/t/why-do-the-removed-packages-surge-back-after-pkg-update/11550 "2018-06-08T20:49:40Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![chobbes](https://avatars.discourse-cdn.com/v4/letter/c/848f3c/32.png) [@chobbes](https://discourse.julialang.org/u/chobbes)\
**Post date:** [June 8, 2018, 8:49pm UTC](https://discourse.julialang.org/t/why-do-the-removed-packages-surge-back-after-pkg-update/11550/1 "2018-06-08T20:49:41Z")

</div>

Why every time when a package is removed by `Pkg.rm` does it come back again once I run `Pkg.update()`? It really drives me nuts.

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [June 8, 2018, 8:59pm UTC](https://discourse.julialang.org/t/why-do-the-removed-packages-surge-back-after-pkg-update/11550/2 "2018-06-08T20:59:36Z")

</div>

Is it a dependency of another package?

---

<div class="post-metadata">

**Author:** ![chobbes](https://avatars.discourse-cdn.com/v4/letter/c/848f3c/32.png) [@chobbes](https://discourse.julialang.org/u/chobbes)\
**Post date:** [June 8, 2018, 9:07pm UTC](https://discourse.julialang.org/t/why-do-the-removed-packages-surge-back-after-pkg-update/11550/3 "2018-06-08T21:07:01Z")

</div>

I thought even it’s the dependency of some other packages, this shouldn’t happen.

On another note, suppose that I have package A installed using `Pkg.add()` since I wanted to use the tagged version. Now, I fork it from its Github repo directly, because I want to work on this package by editing it. The only way I know to let Julia use the forked copy, not the Pkg-checked-out copy, is to remove the Pkg copy and add the path of the forked copy to julia PATH. If the removed packages keep re-emerging just because I do `Pkg.update()`, how can I update? It doesn’t make sense.

---

<div class="post-metadata">

**Author:** ![Elrod](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/elrod/32/22461_2.png) [@Elrod](https://discourse.julialang.org/u/Elrod)\
**Post date:** [June 8, 2018, 10:19pm UTC](https://discourse.julialang.org/t/why-do-the-removed-packages-surge-back-after-pkg-update/11550/4 "2018-06-08T22:19:33Z")

</div>

You can edit packages you’ve added. Pkg2’s add clones and checks out a release. `checkout` will switch to master.  
`cd(Pkg.dir("package_name"))`  
Semicolon let’s you run terminal commands, like using git, from within Julia. I’d recommend managing versions and switching between your branches and tagged releases that way.  
If you didn’t change the definitions of any types, Revise will actually load all the diffs for you as soon as you switch branches!

This may have changed for Pkg3, because often you don’t want the entire commit history.  
Haven’t tried it yet, since I do my developing on 0.6 (last I checked, Revise doesn’t support 0.7 yet), and only periodically move it to 0.7 for testing/making sure there are no dep-warnings.

But Pkg3 will definitely make your life easier, since it supports having multiple projects, environment, packages of the same name, etc.
