Error "can't satisfy dependency graph" on yarn install

Hello everyone,

I was trying to build Joplin locally, but I keep getting this error:

On yarn install this happens:

➤ YN0000: [@joplin/app-mobile]: Process exited (exit code 0), completed in 33s 508ms
➤ YN0000: The command failed for workspaces that are depended upon by other workspaces; can't satisfy the dependency graph
➤ YN0000: Failed with errors in 46s 487ms
at makeError (/home/gomaa-zorin/Github/GSoC_2024/joplin/node_modules/execa/lib/error.js:60:11)
at handlePromise (/home/gomaa-zorin/Github/GSoC_2024/joplin/node_modules/execa/index.js:118:26)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async execCommand (/home/gomaa-zorin/Github/GSoC_2024/joplin/gulpfile.js:27:17)
at async fn (/home/gomaa-zorin/Github/GSoC_2024/joplin/gulpfile.js:64:5)

Node version: 21.7.1 (also tried 18.19.1 & 20.11.1).
Operating System: Zorin OS 16.3 (Ubuntu 20.04, kernel 5.15)

I used nvm to switch node versions.
I tried using yarn run clean (also npkill).
I installed the additional packages as specified here.

entire log:
build.log (70.8 KB)

EDIT:
Going over the log, I noticed this is repeated a few times:

➤ YN0000: [@joplin/app-desktop]: Build directory /tmp/default-plugin-buildNBSmEi
➤ YN0000: [@joplin/app-desktop]: Input is not from a TTY -- not waiting for input.
➤ YN0000: [@joplin/app-desktop]: e[96m Removed build directory e[0m
➤ YN0000: [@joplin/app-desktop]: [11:32:50] 'buildDefaultPlugins' errored after 80 ms
➤ YN0000: [@joplin/app-desktop]: [11:32:50] Error: Command failed with exit code 129: git init . -b main
➤ YN0000: [@joplin/app-desktop]: error: unknown switch `b'
➤ YN0000: [@joplin/app-desktop]: usage: git init [-q | --quiet] [--bare] [--template=] [--shared[=]] []
➤ YN0000: [@joplin/app-desktop]:
➤ YN0000: [@joplin/app-desktop]: --template
➤ YN0000: [@joplin/app-desktop]: directory from which templates will be used
➤ YN0000: [@joplin/app-desktop]: --bare create a bare repository
➤ YN0000: [@joplin/app-desktop]: --shared[=]
➤ YN0000: [@joplin/app-desktop]: specify that the git repository is to be shared amongst several users
➤ YN0000: [@joplin/app-desktop]: -q, --quiet be quiet
➤ YN0000: [@joplin/app-desktop]: --separate-git-dir
➤ YN0000: [@joplin/app-desktop]: separate git dir from working tree
➤ YN0000: [@joplin/app-desktop]:
➤ YN0000: [@joplin/app-desktop]: at makeError (/home/gomaa-zorin/Github/GSoC_2024/joplin/packages/utils/node_modules/execa/lib/error.js:60:11)
➤ YN0000: [@joplin/app-desktop]: at handlePromise (/home/gomaa-zorin/Github/GSoC_2024/joplin/packages/utils/node_modules/execa/index.js:118:26)
➤ YN0000: [@joplin/app-desktop]: at processTicksAndRejections (node:internal/process/task_queues:95:5)
➤ YN0000: [@joplin/app-desktop]: [11:32:50] 'build' errored after 729 ms
➤ YN0000: [@joplin/app-desktop]: Process exited (exit code 1), completed in 3s 694ms

You need git version 2.28 or later

1 Like

Btw if you had searched for "git unknown switch b" the very first result would have given you the answer.

Yep, that's my bad, should have looked more closely at the build.log.

Thanks for the help :saluting_face:.