# \]dev a standard library package

**URL:** https://discourse.julialang.org/t/dev-a-standard-library-package/24752
**Category:** General Usage
**Created:** [May 29, 2019, 10:05pm UTC](https://discourse.julialang.org/t/dev-a-standard-library-package/24752 "2019-05-29T22:05:15Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![gasagna](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gasagna/32/1275_2.png) [@gasagna](https://discourse.julialang.org/u/gasagna)
#### Post date: [May 29, 2019, 10:05pm UTC](https://discourse.julialang.org/t/dev-a-standard-library-package/24752/1 "2019-05-29T22:05:15Z")

</div>

I want to make some changes to my local install of `SuiteSparse.jl` and in the REPL I do

```julia
]dev SuiteSparse

```

This create an image of the source code in `~/julia/dev/SuiteSparse` that I can play with.

However, importing the module with `using SuiteSparse` and then checking `pathof(SuiteSparse)` does not load the this modified code but loads the version that comes with the julia source install in `$JULIA_INSTALL_PREFIX/usr/share/julia/stdlib/v1.1/SuiteSparse/src/SuiteSparse.jl`.

Is there a catch with `]dev`-ing `stdlib` packages?

---

<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: [May 30, 2019, 6:44am UTC](https://discourse.julialang.org/t/dev-a-standard-library-package/24752/2 "2019-05-30T06:44:36Z")

</div>

This should work. But if you loaded `SuiteSparse` _before_ `pkg> dev`’ing it, you have to restart Julia.

---

<div class="post-metadata">

### Author: ![kristoffer.carlsson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kristoffer.carlsson/32/22_2.png) [@kristoffer.carlsson](https://discourse.julialang.org/u/kristoffer.carlsson)
#### Post date: [May 30, 2019, 7:36am UTC](https://discourse.julialang.org/t/dev-a-standard-library-package/24752/3 "2019-05-30T07:36:48Z")

</div>

It would be nice if this just worked but it doesn’t. `dev` should probably error on stdlibs.

The reason it doesn’t work is the the stdlib is in the sysimg and when julia loads a package it checks if a package with that Uuid is already loaded. In that case it just uses the already loaded one.

A workaround is to `include` the main package file (e.g `LibGit2.jl`).

---

<div class="post-metadata">

### Author: ![carstenbauer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/carstenbauer/32/4981_2.png) [@carstenbauer](https://discourse.julialang.org/u/carstenbauer)
#### Post date: [May 30, 2019, 7:56am UTC](https://discourse.julialang.org/t/dev-a-standard-library-package/24752/4 "2019-05-30T07:56:38Z")

</div>

Another way is

> [@Testing changes to stdlib without remaking the whole of Julia](https://discourse.julialang.org/t/testing-changes-to-stdlib-without-remaking-the-whole-of-julia/11998/4):
>
> If you have the Random stdlib at some other folder you can change its uuid, pkg\> develop path/to/Random and then using Random will use that version. This also works with Revise.
