Permission denied (os error 13): mkdir '/home/sa/.local/share/pkgx/pantry'

Open
#54 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
docker, typescript
Domain
devops, tooling

Research direction

Start with src/hooks/useSync.ts and the ensure_pantry call in src/app.ts, using the reported Docker volume mounts to reproduce the permission error. Trace the mkdir path shown in the stack trace and verify that starting pkgx with the shared directories no longer fails with Permission denied.

Written by the indexing model from the issue text.

Description

When I use pkgx in docker, I use the -v to share the host and the contents of the container to avoid duplicate downloads. This caused some problems when starting the pkgx container, and I think it's necessary for useSync to check if the directory exists when creating it.

docker run \
-v ~/.pkgx:/home/sa/.pkgx \
-v ~/.local:/home/sa/.local \
...
× unexpected error Permission denied (os error 13): mkdir '/home/sa/.local/share/pkgx/pantry'
│ PermissionDenied: Permission denied (os error 13): mkdir '/home/sa/.local/share/pkgx/pantry'
│     at Object.mkdirSync (ext:deno_fs/30_fs.js:132:7)
│     at Path.mkdir (https://deno.land/x/libpkgx@v0.15.0/src/utils/Path.ts:330:12)
│     at default (https://deno.land/x/libpkgx@v0.15.0/src/hooks/useSync.ts:12:42)
│     at ensure_pantry (file:///home/runner/work/pkgx/pkgx/src/app.ts:143:11)
│     at default (file:///home/runner/work/pkgx/pkgx/src/app.ts:38:15)
│     at file:///home/runner/work/pkgx/pkgx/entrypoint.ts:59:9
Dominant language
TypeScript
Stars
64
Forks
12
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

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.

More from pkgxdev/libpkgx

All issues in pkgxdev/libpkgx

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.