Vix.cpp v2.6.0 is here Read the blog
Skip to content

vix info

vix info shows Vix environment information, package details, paths, caches, and local state.

Use it when you want to inspect where Vix stores data, verify what exists locally, or understand the current Vix setup before debugging or cleaning anything.

bash
vix info
1

Overview

vix info is a read-only inspection command.

It does not modify your project. It does not sync the registry. It does not install dependencies. It does not clean caches. It only prints information about the current Vix environment or a specific package.

vix info can show:

txt
Vix CLI version
home directory
Vix root path
registry index path and state
package store path and state
global package manifest path and state
build artifact cache path and state
store package count
store commit count
global package count
store disk usage
artifact cache disk usage
project package details
global package details
1
2
3
4
5
6
7
8
9
10
11
12
13
14

Usage

bash
vix info
vix info [@]namespace/name
vix info -g [@]namespace/name
vix info --global [@]namespace/name
1
2
3
4

Basic examples

bash
# Show local Vix environment
vix info

# Show a project dependency from vix.lock
vix info softadastra/json

# Scoped-style syntax
vix info @softadastra/json

# Show a globally installed package
vix info -g softadastra/json

# Same as -g
vix info --global softadastra/json
1
2
3
4
5
6
7
8
9
10
11
12
13
14

Modes

ModeCommandReads fromPurpose
Environment modevix infolocal Vix pathsShow environment, paths, caches, and state.
Project package modevix info <pkg>./vix.lockShow one project dependency.
Global package modevix info -g <pkg>~/.vix/global/installed.jsonShow one globally installed package.

Environment mode

Run:

bash
vix info
1

Example output shape:

txt
Info
version: 2.6.0
home: /home/user
root: /home/user/.vix
root state: present

Environment
vix root: /home/user/.vix [present]
registry: /home/user/.vix/registry/index [present]
store: /home/user/.vix/store/git [present]
global root: /home/user/.vix/global [present]
global manifest: /home/user/.vix/global/installed.json [present]

Caches
artifact cache: /home/user/.vix/cache/build [present]
store packages: 12
store commits: 28
global packages: 3
store size: 240.52 MB
artifact size: 18.33 MB

Status
registry index: present (directory)
store cache: present (directory)
global root: present (directory)
global manifest: present (file)
artifact cache: present (directory)
globals usable: yes
registry usable: yes
store usable: yes
artifacts usable: yes

✔ Vix environment detected
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

Environment paths

vix info prints the main Vix paths.

PathPurpose
~/.vixVix root directory.
~/.vix/registry/indexLocal registry metadata index.
~/.vix/store/gitShared Git checkout store for registry packages.
~/.vix/globalGlobal package area.
~/.vix/global/installed.jsonGlobal package manifest.
~/.vix/cache/buildBuild artifact cache root.

Vix root

The Vix root is:

txt
~/.vix
1

On Unix-like systems, it is based on:

txt
HOME
1

On Windows, it is based on:

txt
USERPROFILE
1

If the home directory cannot be detected, Vix falls back to:

txt
.vix
1

relative to the current directory.

Registry state

The registry path is:

txt
~/.vix/registry/index
1

vix info shows whether it is present or missing.

If the registry is missing, run:

bash
vix registry sync
1

The registry is used by commands like:

bash
vix search
vix add
vix update
vix outdated
vix publish
vix unpublish
1
2
3
4
5
6

Store state

The package store path is:

txt
~/.vix/store/git
1

This is where Vix keeps fetched package Git checkouts.

vix info counts:

txt
store packages
store commits
store size
1
2
3

A package like:

txt
softadastra/core
1

can be stored as:

txt
~/.vix/store/git/softadastra.core/<commit>
1

Global package state

Global package data lives under:

txt
~/.vix/global
1

The global package manifest is:

txt
~/.vix/global/installed.json
1

vix info counts packages from this manifest.

If no manifest exists, the global package count is:

txt
0
1

Use:

bash
vix list -g
1

to list global packages.

Artifact cache state

The build artifact cache path is:

txt
~/.vix/cache/build
1

vix info shows:

txt
artifact cache path
artifact cache state
artifact size
artifacts usable
1
2
3
4

This is useful when debugging cache behavior or disk usage.

Disk usage

vix info computes disk usage for:

txt
~/.vix/store/git
~/.vix/cache/build
1
2

It prints human-readable sizes such as:

txt
240.52 MB
18.33 MB
1
2

If a path is missing, its size is shown as:

txt
0 B
1

Status section

The status section shows whether each path is present and what type it is.

Example:

txt
registry index: present (directory)
global manifest: present (file)
artifact cache: missing (path)
1
2
3

Possible type labels include:

txt
directory
file
path
1
2
3

Usable flags

vix info prints simple yes/no state:

txt
globals usable
registry usable
store usable
artifacts usable
1
2
3
4

These are based on path existence.

Example:

txt
registry usable: yes
store usable: no
1
2

If registry usable is no, run:

bash
vix registry sync
1

If store usable is no, package commands may create it when needed.

Project package info

Use:

bash
vix info softadastra/json
1

This reads package details from the current project lockfile:

txt
./vix.lock
1

Example output shape:

txt
Project package
id: softadastra/json
version: 1.0.0
commit: 8f3a9c4...
repo: https://github.com/softadastra/json
type: header-only
include: include

✔ Package info loaded
1
2
3
4
5
6
7
8
9

Project package requirement

Project package info requires:

txt
vix.lock
1

in the current directory.

If it is missing, Vix reports:

txt
project lock file not found
1

Run from the project directory:

bash
cd /path/to/project
vix info softadastra/json
1
2

If the project has dependencies but no lockfile, resolve them:

bash
vix registry sync
vix add softadastra/json
vix install
1
2
3

Supported project lockfile shapes

vix info <package> can read package arrays from these shapes.

Array shape:

json
[
  {
    "id": "softadastra/json",
    "version": "1.0.0",
    "commit": "8f3a9c4..."
  }
]
1
2
3
4
5
6
7

Object shape with dependencies:

json
{
  "dependencies": [
    {
      "id": "softadastra/json",
      "version": "1.0.0",
      "repo": "https://github.com/softadastra/json",
      "tag": "v1.0.0",
      "commit": "8f3a9c4..."
    }
  ]
}
1
2
3
4
5
6
7
8
9
10
11

Object shape with packages is also accepted by the shared package reader.

Global package info

Use:

bash
vix info -g softadastra/json
1

or:

bash
vix info --global softadastra/json
1

This reads package details from:

txt
~/.vix/global/installed.json
1

Example output shape:

txt
Global package
id: softadastra/json
version: 1.0.0
commit: 8f3a9c4...
repo: https://github.com/softadastra/json
type: header-only
include: include
path: /home/user/.vix/global/packages/softadastra.json/8f3a9c4...

✔ Package info loaded
1
2
3
4
5
6
7
8
9
10

Package fields

For package info, Vix can print:

FieldMeaning
idPackage id, for example softadastra/json.
versionPackage version.
commitResolved Git commit.
repoSource repository.
typePackage type when available.
includeInclude directory when available.
pathInstalled path when available.

The path field usually appears for global packages because global installs store an installed_path.

Version fallback

If a package does not have a version field but has a tag, Vix derives the version from the tag.

Example:

json
{
  "tag": "v1.2.0"
}
1
2
3

is displayed as:

txt
1.2.0
1

Repository field

The repository can be stored as a string:

json
{
  "repo": "https://github.com/softadastra/json"
}
1
2
3

or as an object:

json
{
  "repo": {
    "url": "https://github.com/softadastra/json"
  }
}
1
2
3
4
5

vix info supports both.

Scoped-style package ids

The help allows scoped-style input:

bash
vix info @softadastra/json
vix info -g @softadastra/json
1
2

The stored package id is still normally:

txt
softadastra/json
1

Use the package id exactly as it appears in vix.lock or vix list if lookup fails.

Read-only behavior

vix info is safe to run.

It does not:

txt
edit vix.json
edit vix.lock
create .vix/deps
sync the registry
install packages
delete cache files
1
2
3
4
5
6

Use it before cleanup commands when you want to understand the current state.

Difference between vix info and vix doctor

CommandPurpose
vix infoShow paths, caches, counts, and package details.
vix doctorCheck environment health and diagnose setup problems.

Use vix info to inspect.

Use vix doctor to diagnose.

Difference between vix info and vix list

CommandPurpose
vix infoShow environment details or one package detail.
vix listList all project or global packages.

Use vix list when you want the full dependency list.

Use vix info <pkg> when you want details for one package.

Difference between vix info and vix registry path

CommandPurpose
vix infoShow all main Vix paths and states.
vix registry pathShow only the registry path.

Use vix info for a broad overview.

Use vix registry path for the registry location only.

Difference between vix info and vix store path

CommandPurpose
vix infoShow store path, state, size, and counts.
vix store pathShow only the store path.

Use vix info when you need store size and state.

Use vix store path when you only need the path.

Debugging workflows

Inspect environment

bash
vix info
1

Registry problem

bash
vix info
vix registry sync
vix search json
1
2
3

Dependency install problem

bash
vix info
vix list
vix install
vix check --tests
1
2
3
4

Global package problem

bash
vix info
vix list -g
vix info -g softadastra/json
1
2
3

Disk usage problem

bash
vix info
vix store path
vix store gc --project --dry-run
1
2
3

Cache behavior problem

bash
vix info
vix build --build-target all
vix info
1
2
3

Common workflows

Show local environment

bash
vix info
1

Show a project package

bash
vix list
vix info softadastra/json
1
2

Show a global package

bash
vix list -g
vix info -g softadastra/json
1
2

Inspect before cleanup

bash
vix info
vix store gc --project --dry-run
1
2

Inspect after registry sync

bash
vix registry sync
vix info
1
2

Inspect after global install

bash
vix install -g softadastra/json
vix info
vix list -g
1
2
3

Options

OptionDescription
-gRead package info from the global package manifest.
--globalSame as -g.
-h, --helpShow command help.

Commands reference

CommandDescription
vix infoShow Vix environment, paths, caches, counts, and status.
vix info softadastra/jsonShow a project package from ./vix.lock.
vix info -g softadastra/jsonShow a globally installed package.
vix info --global softadastra/jsonSame as vix info -g softadastra/json.

Common mistakes

Expecting info to fix problems

vix info only prints information.

For environment diagnostics, use:

bash
vix doctor
1

For project cleanup, use:

bash
vix clean
1

For dependency reinstall, use:

bash
vix reset
1

Expecting info to sync the registry

vix info does not update registry metadata.

Use:

bash
vix registry sync
1

Expecting info to install dependencies

vix info does not install packages.

Use:

bash
vix install
1

Expecting info to remove cache data

vix info does not clean the store or artifact cache.

Preview store cleanup with:

bash
vix store gc --project --dry-run
1

Running package info outside a project

Wrong:

bash
cd /tmp
vix info softadastra/json
1
2

Correct:

bash
cd /path/to/project
vix info softadastra/json
1
2

Project package info reads:

txt
./vix.lock
1

Forgetting -g for global package info

Wrong:

bash
vix info softadastra/json
1

when the package is installed globally but not in the current project.

Correct:

bash
vix info -g softadastra/json
1

Expecting vix info to list all packages

Use:

bash
vix list
1

or:

bash
vix list -g
1

to list packages.

Use vix info <pkg> for one package.

Troubleshooting

Project lock file not found

Run from the project directory:

bash
cd /path/to/project
vix info softadastra/json
1
2

If the project needs dependencies, create the lockfile:

bash
vix add softadastra/json
vix install
1
2

Global package manifest not found

If you run:

bash
vix info -g softadastra/json
1

and Vix reports that the global package manifest is not found, no global packages are installed yet.

Install one:

bash
vix registry sync
vix install -g softadastra/json
1
2

Invalid project lock file

If the lockfile is malformed, Vix reports:

txt
invalid project lock file
1

Check:

bash
cat vix.lock
1

Then regenerate or restore it.

Invalid global manifest

If the global manifest is malformed, Vix reports:

txt
invalid global manifest
1

Check:

txt
~/.vix/global/installed.json
1

Then reinstall or intentionally clean the global package state.

Package not found

If Vix reports:

txt
package not found: softadastra/json
1

check the package id:

bash
vix list
1

or for global packages:

bash
vix list -g
1

Then run vix info with the exact id shown.

Vix root is missing

If Vix prints:

txt
Vix root is missing. Some commands may create it on demand.
1

that means:

txt
~/.vix
1

does not exist yet.

Commands like registry sync or install can create it when needed:

bash
vix registry sync
1

Best practices

Run vix info before deleting cache or store data.

Use vix info when debugging path problems.

Use vix info <pkg> after vix list when you need one package detail.

Use vix info -g <pkg> after vix list -g for global package details.

Use vix doctor after vix info when the environment looks wrong.

Use vix registry sync when registry state is missing or stale.

Use vix install when project dependencies are missing.

Use vix store gc --project --dry-run before store cleanup.

CommandPurpose
vix doctorCheck environment health.
vix registry pathPrint registry index path.
vix registry syncRefresh registry index.
vix store pathPrint local store path.
vix store gc --projectClean unused store data for current project scope.
vix listList project dependencies.
vix list -gList global packages.
vix cleanClean project-local generated state.
vix resetClean and reinstall project dependencies.
vix installInstall locked project dependencies.
vix install -gInstall a global package.

Next step

Diagnose the environment.

Open the vix doctor guide

Released under the MIT License.

Morty Proxy This is a proxified and sanitized view of the page, visit original site.