Skip to content
An alternative package manager for V.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore update vargs folder Sep 1, 2019
.vpkg-lock.json update .vpkg-lock version Sep 1, 2019
.vpkg.json update Sep 1, 2019
commands.v add more info for showing manifest info Sep 1, 2019
fetch.v use package name instead of full url for git Sep 1, 2019
lockfile.v fix indentation for generating lockfile Sep 1, 2019
manifest.v do not return an option when loading manifest file Sep 1, 2019
structs.v support for custom package registries as sources Sep 1, 2019
vpkg.v version bump Sep 1, 2019


vpkg is a package manager written on V for V.


vpkg's approach is to incorporate the ideas taken from centralized and decentralized package managers.

  • Centralized, popular packages are being listed on VPM and on to a single registry.json file.
  • Uses a single, JSON file for storing package information as well as it's dependencies. (In this case, .vpkg.json)
  • Packages stored from registry.json file can be obtained through a simple vpkg get [package name] while the rest uses regular Git URLs.
  • Support for multiple package manifests (v.mod, .vpm.json, and .vpkg.json).
  • Support for custom package registries/sources.

Custom Registry

Starting with VPkg 0.4.1, you can now use your own custom sources to download your favorite modules. VPkg will detect a registry.json file from the registry to parse and scan if the name is present. Simply add a sources field to your .vpkg.json file and you're good to go!

    "name": "vpkg",
    "version": "0.1.0",
    "author": ["Name <>"],
    "repo": "",
    "sources": ["", ""],
    "dependencies": [

Running your own

VPkg's own registry server is a perfect template to start running your own registry server. Just modify registry.json and use any http or web library of your choice to get up and running.


VPkg 0.3
An alternative package manager for V.


vpkg <COMMAND> [ARGS...] [options]


get [packages]                     Fetch and installs packages from the registry or the git repo.
help                               Prints this help message.
info                               Show project's package information.
init [--format=vpkg|vmod]          Creates a package manifest file into the current directory. Defaults to "vpkg".
install                            Reads the package manifest file and installs the necessary packages.
remove [packages]                  Removes packages
update                             Updates packages.
version                            Prints the Version of this program.


--global, -g                       Installs the modules/packages into the `.vmodules` folder.


  • ability to publish and search packages in VPM and VPKG registry.
  • recursive installation of dependencies of packages.
  • unified logging interface


  • Clone the repo.
  • Download and install v-args and place it into the folder where your vpkg source code is located.
  • Build it from source.

Building from Source

git clone
cd vpkg/
v -prod .


(C) 2019 Ned Palacios

You can’t perform that action at this time.