Skip to content

Support for npm packages or better documentationΒ #522

@iilyak

Description

@iilyak

I am trying declaratively install an npm package and created

description = "OpenSpec CLI (installed via npm during Hermit install)"

binaries = ["OpenSpec-${version}/bin/openspec.js"]

# Basic test to validate the package after installation
test = "bin/openspec --help"

source = "https://github.com/Fission-AI/OpenSpec/archive/refs/tags/v${version}.zip"

repository = "https://github.com/Fission-AI/OpenSpec"

version "0.16.0" {
  runtime-dependencies = ["node-24.12.0"]
  on install {
    run {
      cmd = "${HERMIT_BIN}/npm install --prefix ${root} @fission-ai/openspec@${version} --no-fund"
    }
  }
}

I tried different prefix and none of the approaches seem to work:

  1. if --prefix ${root} - EACCES: permission denied, mkdir '/Users/iilyak/Library/Caches/hermit/pkg/openspec-0.16.0/node_modules'
  2. if --prefix ${HERMIT_ENV}/.hermit/node - the installation succeed but execution fails Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/Users/iilyak/Library/Caches/hermit/pkg/openspec-0.16.0/OpenSpec-0.16.0/dist/cli/index.js'
  3. if --prefix ${HERMIT_ENV} - the installation succeed but execution fails Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/Users/iilyak/Library/Caches/hermit/pkg/openspec-0.16.0/OpenSpec-0.16.0/dist/cli/index.js'
  4. if I remove --prefix - EACCES: permission denied, mkdir '/Users/iilyak/Library/Caches/hermit/pkg/openspec-0.16.0/node_modules'
ls -la /Users/iilyak/Library/Caches/hermit/pkg/
total 0
drwxr-xr-x  7 iilyak  staff  224 Dec 11 12:45 ./
drwxr-xr-x  8 iilyak  staff  256 Dec  9 12:36 ../
drwxr-xr-x  3 iilyak  staff   96 Dec  9 12:31 hermit@stable/
dr-x------  9 iilyak  staff  288 Dec 11 12:13 node-24.12.0/
dr-x------  3 iilyak  staff   96 Dec 11 12:45 openspec-0.16.0/

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions