rust-lang / rust-lang/cargo

"PyPi simple"-like directory based registry support.

Open
#12,293 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

A-registries C-feature-request S-needs-info
Dominant language
Rust
Stars
15.5k
Forks
3k
Avg merge
23h 30m
Merged PRs (30d)
51

Description

Problem

Currently, when user want to setup his own registry, the procedures is very complicated.

For just specifying package name and version number, a simple directory based crate tarball collection set is adequate.

Proposed Solution

Considering this directory:

hello_reg/
├── goodbye
│   ├── goodbye-0.23.12.crate
│   └── goodbye-1.0.1.crate
└── helloworld
    ├── helloworld-0.0.1.crate
    └── helloworld-0.1.0.crate

It would be good to add Cargo feature to add dependencies from hello_reg/ directory. The version resolution is automatically done by Cargo like other type of registry or dependency. And the version wildcard is also supported.

Notes

This feature can make private dependency for private Rust project much more simpler.

Beside a local directory, it can also be a remote FTP URL or HTTP/HTTPS URL.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named in the issue. Start by examining how Cargo currently handles registries and dependency version resolution, then define the scope for local directory, HTTP/HTTPS, and FTP sources. Done should include directory-based crate discovery, automatic version resolution, and wildcard support.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
build-system, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.