# Packages on GitHub that I can never download

**URL:** <https://discourse.julialang.org/t/packages-on-github-that-i-can-never-download/109501>\
**Category:** General Usage\
**Created:** [January 31, 2024, 8:22am UTC](https://discourse.julialang.org/t/packages-on-github-that-i-can-never-download/109501 "2024-01-31T08:22:31Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![jackmarry](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jackmarry/32/47139_2.png) [@jackmarry](https://discourse.julialang.org/u/jackmarry)\
**Post date:** [January 31, 2024, 8:22am UTC](https://discourse.julialang.org/t/packages-on-github-that-i-can-never-download/109501/1 "2024-01-31T08:22:31Z")

</div>

julia newbie, there are some packages on GitHub that I can never download, some code packages are unregistered, can I install them by downloading the source code files from GitHub, or use them locally.

---

<div class="post-metadata">

**Author:** ![SteffenPL](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/steffenpl/32/206270_2.png) [@SteffenPL](https://discourse.julialang.org/u/SteffenPL)\
**Post date:** [January 31, 2024, 8:27am UTC](https://discourse.julialang.org/t/packages-on-github-that-i-can-never-download/109501/2 "2024-01-31T08:27:07Z")

</div>

You can use the command

```julia
using Pkg
Pkg.add("https://github.com/JuliaMusic/PortMidi.jl")  
# replace link with the repository you want to add

```

See also: [3. Managing Packages · Pkg.jl](https://pkgdocs.julialang.org/v1/managing-packages/#Adding-unregistered-packages)

---

<div class="post-metadata">

**Author:** ![jackmarry](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jackmarry/32/47139_2.png) [@jackmarry](https://discourse.julialang.org/u/jackmarry)\
**Post date:** [January 31, 2024, 8:49am UTC](https://discourse.julialang.org/t/packages-on-github-that-i-can-never-download/109501/3 "2024-01-31T08:49:36Z")

</div>

I’ve tried downloading from the URL, but it results in a timeout error.

---

<div class="post-metadata">

**Author:** ![mkitti](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mkitti/32/12459_2.png) [@mkitti](https://discourse.julialang.org/u/mkitti)\
**Post date:** [January 31, 2024, 8:52am UTC](https://discourse.julialang.org/t/packages-on-github-that-i-can-never-download/109501/4 "2024-01-31T08:52:50Z")

</div>

If you download the tarball, you can then untar it. You can then use `Pkg.develop` to install it.

```julia
using Pkg
Pkg.develop("/path/to/untarred/pkg")

```

---

<div class="post-metadata">

**Author:** ![SteffenPL](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/steffenpl/32/206270_2.png) [@SteffenPL](https://discourse.julialang.org/u/SteffenPL)\
**Post date:** [January 31, 2024, 9:01am UTC](https://discourse.julialang.org/t/packages-on-github-that-i-can-never-download/109501/5 "2024-01-31T09:01:20Z")

</div>

Could you share the URL link (if it is something public) and maybe the error message? There are many sources of errors (e.g. maybe the source is not a module, etc).

---

<div class="post-metadata">

**Author:** ![jackmarry](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jackmarry/32/47139_2.png) [@jackmarry](https://discourse.julialang.org/u/jackmarry)\
**Post date:** [January 31, 2024, 9:10am UTC](https://discourse.julialang.org/t/packages-on-github-that-i-can-never-download/109501/6 "2024-01-31T09:10:07Z")

</div>

(@v1.8) pkg\> add [GitHub - rened/QuickShiftClustering.jl: Fast hierarchical medoid clustering](https://github.com/rened/QuickShiftClustering.jl.git)  
Cloning git-repo `https://github.com/rened/QuickShiftClustering.jl.git`  
ERROR: failed to clone from [GitHub - rened/QuickShiftClustering.jl: Fast hierarchical medoid clustering](https://github.com/rened/QuickShiftClustering.jl.git), error: GitError(Code:ERROR, Class:OS, failed to send request: 操作超时

---

<div class="post-metadata">

**Author:** ![SteffenPL](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/steffenpl/32/206270_2.png) [@SteffenPL](https://discourse.julialang.org/u/SteffenPL)\
**Post date:** [January 31, 2024, 9:16am UTC](https://discourse.julialang.org/t/packages-on-github-that-i-can-never-download/109501/7 "2024-01-31T09:16:00Z")

</div>

This repository is not a package (as it misses the `Project.toml` file).

The easiest thing you can do is to clone it locally (directly with git or as a zip download).

Then you could either open that folder and call `include("src/QuickShiftClustering.jl")` and then load it with

```julia
using .QuickShiftClustering

```

If you want to use it in another project, you can also just copy the `QuickShiftClustering.jl` file into your project and include it.

Of course, the best approach would be to add a `Project.toml` to their folder and actually update their repository. Then also, the `Pkg.develop` command could be used, and you can include it in any of your projects via `using QuickShiftClustering` without the need to copy files or change file paths.

---

<div class="post-metadata">

**Author:** ![Fliks](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/fliks/32/2494_2.png) [@Fliks](https://discourse.julialang.org/u/Fliks)\
**Post date:** [January 31, 2024, 9:28am UTC](https://discourse.julialang.org/t/packages-on-github-that-i-can-never-download/109501/8 "2024-01-31T09:28:15Z")

</div>

This is a very old package and the REQUIRE file states a julia version of 0.5. I would expect them to not work when you will include them in Julia 1.x. If you would like to update the package to Julia 1.x I would recommend to start by running the code on Julia 0.5 and then use julia 0.6 and 0.7 as steps so that you get the deprecation warnings.  
You can easily install the old versions of Julia with juliaup add versionnumber

The Error that we get there seems to be very misleading. Maybe we can get an error message saying this does not seem to be a julia package.

---

<div class="post-metadata">

**Author:** ![GunnarFarneback](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gunnarfarneback/32/1827_2.png) [@GunnarFarneback](https://discourse.julialang.org/u/GunnarFarneback)\
**Post date:** [January 31, 2024, 9:59am UTC](https://discourse.julialang.org/t/packages-on-github-that-i-can-never-download/109501/9 "2024-01-31T09:59:20Z")

</div>

I think the error isn’t complaining about it not being a proper and up to date package but actually is some kind of connection problem to GitHub.

When I try it I get

```julia
(jl_xM8dfq) pkg> add https://github.com/rened/QuickShiftClustering.jl.git
     Cloning git-repo `https://github.com/rened/QuickShiftClustering.jl.git`
    Updating git-repo `https://github.com/rened/QuickShiftClustering.jl.git`
ERROR: could not find project file (Project.toml or JuliaProject.toml) in package at `https://github.com/rened/QuickShiftClustering.jl.git` maybe `subdir` needs to be specified

```

which, except for the incorrect guess at the end, is accurate enough.

---

<div class="post-metadata">

**Author:** ![Ahmed\_Salih](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ahmed_salih/32/206579_2.png) [@Ahmed\_Salih](https://discourse.julialang.org/u/Ahmed_Salih)\
**Post date:** [January 31, 2024, 10:12am UTC](https://discourse.julialang.org/t/packages-on-github-that-i-can-never-download/109501/10 "2024-01-31T10:12:31Z")

</div>

No it is stating that it cannot find the Project.toml. Connection Github is fine, which is why a `git clone ...` will work but `git add ..` will not.

If it is not a package I don’t think the package manager can add it.

Kind regards

---

<div class="post-metadata">

**Author:** ![GunnarFarneback](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gunnarfarneback/32/1827_2.png) [@GunnarFarneback](https://discourse.julialang.org/u/GunnarFarneback)\
**Post date:** [January 31, 2024, 10:57am UTC](https://discourse.julialang.org/t/packages-on-github-that-i-can-never-download/109501/11 "2024-01-31T10:57:28Z")

</div>

I’m referring to

> [@jackmarry](#):
>
> ERROR: failed to clone from [GitHub - rened/QuickShiftClustering.jl: Fast hierarchical medoid clustering](https://github.com/rened/QuickShiftClustering.jl.git), error: GitError(Code:ERROR, Class:OS, failed to send request: 操作超时

which looks very much like a failure to clone.

---

<div class="post-metadata">

**Author:** ![Ahmed\_Salih](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ahmed_salih/32/206579_2.png) [@Ahmed\_Salih](https://discourse.julialang.org/u/Ahmed_Salih)\
**Post date:** [January 31, 2024, 10:57am UTC](https://discourse.julialang.org/t/packages-on-github-that-i-can-never-download/109501/12 "2024-01-31T10:57:50Z")

</div>

Got it, my bad 😊

---

<div class="post-metadata">

**Author:** ![jackmarry](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jackmarry/32/47139_2.png) [@jackmarry](https://discourse.julialang.org/u/jackmarry)\
**Post date:** [January 31, 2024, 1:11pm UTC](https://discourse.julialang.org/t/packages-on-github-that-i-can-never-download/109501/13 "2024-01-31T13:11:50Z")

</div>

I have found a solution, which is to use `Pkg.develop()` . Thank everyone all. I think the `include` method is also good.

---

<div class="post-metadata">

**Author:** ![jackmarry](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jackmarry/32/47139_2.png) [@jackmarry](https://discourse.julialang.org/u/jackmarry)\
**Post date:** [February 4, 2024, 2:05am UTC](https://discourse.julialang.org/t/packages-on-github-that-i-can-never-download/109501/14 "2024-02-04T02:05:39Z")

</div>

After running Pkg.develop(“/path/to/untarred/pkg”), can the downloaded package file be deleted or moved to a different location?

---

<div class="post-metadata">

**Author:** ![mkitti](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mkitti/32/12459_2.png) [@mkitti](https://discourse.julialang.org/u/mkitti)\
**Post date:** [February 4, 2024, 2:12am UTC](https://discourse.julialang.org/t/packages-on-github-that-i-can-never-download/109501/15 "2024-02-04T02:12:44Z")

</div>

The path `path/to/untarred/pkg` must stay there.

If it were a git repository and you did `Pkg.add` then you could remove it.

---

<div class="post-metadata">

**Author:** ![jackmarry](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jackmarry/32/47139_2.png) [@jackmarry](https://discourse.julialang.org/u/jackmarry)\
**Post date:** [February 4, 2024, 2:19am UTC](https://discourse.julialang.org/t/packages-on-github-that-i-can-never-download/109501/16 "2024-02-04T02:19:26Z")

</div>

Thanks

---

<div class="post-metadata">

**Author:** ![goerz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/goerz/32/3269_2.png) [@goerz](https://discourse.julialang.org/u/goerz)\
**Post date:** [February 4, 2024, 3:11am UTC](https://discourse.julialang.org/t/packages-on-github-that-i-can-never-download/109501/17 "2024-02-04T03:11:38Z")

</div>

> [@jackmarry](#):
>
> 操作超时

One of the problems here is most likely that the “great firewall of China” is blocking connections to GitHub
