Skip to content

Package Manager Troubleshooting

This page lists common package manager issues.

Package URIs must contain at least:

domain/user/repo

Valid:

Terminal window
nubo get github.com/nubolang/color

Invalid:

Terminal window
nubo get nubolang/color

nubo get needs the domain because it builds the Git clone URL.

After installing:

Terminal window
nubo get github.com/nubolang/color

import using the package name from lock.yaml:

import color from "@nubolang/color"

Do not normally import with the full GitHub domain:

// Usually wrong:
import color from "github.com/nubolang/color"

If import resolution fails, check lock.yaml.

entries:
- name: nubolang/color

The import path should start with that name.

If nubo download fails validation, the package content does not match the lockfile hash.

Possible causes:

  • cache folder was manually edited
  • package folder is incomplete
  • lockfile was edited manually
  • the wrong commit/content exists in cache

Fix by removing the cached package and downloading again.

Terminal window
rm -rf ~/nubo/packages/github.com/nubolang/color@<commit_hash>
nubo download

A lock entry must have commit_hash.

Invalid:

entries:
- name: nubolang/color
source: https://github.com/nubolang/color.git

Valid:

entries:
- name: nubolang/color
source: https://github.com/nubolang/color.git
commit_hash: f5063d6fa53bf8be818f4316273ee81fb5474d21
hash: sha256:d0b1dc4e7af156690f762c2d90c6bbe62c7ad265cd9a9e9e54c30fac26cbf0ef

nubo del looks for the package source in _nubo.yaml and lock.yaml.

If delete fails, check that both files contain the package.

_nubo.yaml
packages:
- source: https://github.com/nubolang/color.git
lock.yaml
entries:
- source: https://github.com/nubolang/color.git

If a package already exists in the cache, nubo download may reuse it.

If you want a clean download, remove the cached folder first.

Terminal window
rm -rf ~/nubo/packages/github.com/nubolang/color@<commit_hash>
nubo download

If a package contains its own lock.yaml, Nubo can merge those dependencies into the current lockfile.

If nested dependencies are missing, check that the installed package contains a valid lock.yaml.