Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Can't install dependencies with Yarn on Debian #122

Open
1 task done
Tracked by #125
jeromebelleman opened this issue Nov 4, 2024 · 9 comments
Open
1 task done
Tracked by #125

[BUG] Can't install dependencies with Yarn on Debian #122

jeromebelleman opened this issue Nov 4, 2024 · 9 comments
Assignees

Comments

@jeromebelleman
Copy link

Describe the issue
Installing the itu-ob-editor dependencies with Yarnpkg fails upon building keytar.

When does it happen?
When I install dependencies, with the later goal of running the editor.

git clone https://github.com/ituob/itu-ob-editor.git
cd itu-ob-editor
yarnpkg

Expected behavior

To install the dependencies.

Screenshots

~/itu-ob-editor$ yarnpkg 
yarn install v1.22.19
[1/5] Resolving packages...
warning Resolution field "[email protected]" is incompatible with requested version "kind-of@^3.0.2"
warning Resolution field "[email protected]" is incompatible with requested version "kind-of@^3.2.0"
warning Resolution field "[email protected]" is incompatible with requested version "kind-of@^5.0.0"
warning Resolution field "[email protected]" is incompatible with requested version "kind-of@^3.0.2"
warning Resolution field "[email protected]" is incompatible with requested version "kind-of@^3.0.2"
warning Resolution field "[email protected]" is incompatible with requested version "kind-of@^3.0.2"
warning Resolution field "[email protected]" is incompatible with requested version "kind-of@^4.0.0"
warning Resolution field "[email protected]" is incompatible with requested version "kind-of@^3.0.3"
warning Resolution field "[email protected]" is incompatible with requested version "[email protected]"
warning Resolution field "[email protected]" is incompatible with requested version "acorn@^7.4.0"
warning Resolution field "[email protected]" is incompatible with requested version "minimist@~0.0.1"
[2/5] Fetching packages...
[3/5] Linking dependencies...
warning "@aeaton/react-prosemirror-config-default > @fortawesome/[email protected]" has unmet peer dependency "prop-types@^15.5.10".
warning " > [email protected]" has unmet peer dependency "@babel/types@>= 7".
[4/5] Building fresh packages...
[1/7] ⠐ keytar
[6/7] ⠐ electron
[3/7] ⠐ node-sass
[-/7] ⠈ waiting...
error /home/debian/itu-ob-editor/node_modules/keytar: Command failed.
Exit code: 127
Command: prebuild-install || node-gyp rebuild
Arguments: 
Directory: /home/debian/itu-ob-editor/node_modules/keytar

Environment

  • OS: Debian 12.7
  • Node.js 18.19.0
  • Yarnpkg 1.22.19
  • GNU Make 4.3
  • g++ 12.2.0
  • libsecret-tools 0.20.5-3
  • libsecret-common 0.20.5-3
  • libsecret-1-dev 0.20.5-3
  • libsecret-1-0 0.20.5-3

These packages come from the standard Debian repositories, i.e. I didn't install upstream versions of Node.js or Yarn.

@ronaldtse
Copy link
Contributor

@jeromebelleman thank you for reporting this! @strogonoff could you please help look at this? Thanks!

@strogonoff
Copy link
Collaborator

Hi @jeromebelleman, are you trying to set up development environment? I believe it might need an older Node version (perhaps 16), I’ll check.

Or do you want to just use it on Debian? If yes, I’ll look into adding the release build for it, should be easy to enable.

@jeromebelleman
Copy link
Author

Thanks @strogonoff, I'm not seeking to setting up a development environment, actually. I just need to run it on Debian. It would work for me too if you add a release build.

@harisejaz10p
Copy link

Hey @ronaldtse @strogonoff

I came across the gig for this issue, and it seems that the project's overall health is currently in a highly degraded state. To improve the situation, two major replacements are necessary: migrating from electron-webpack and replacing prettifier with more modern and actively maintained alternatives. in addition to upgrading the core modules.

Regarding the React upgrade to the latest version, there may be compatibility issues with the @riboseinc/coulomb package. Specifically, its exported interfaces and components might not be fully compatible with React 18. To address this, we might need to wrap or adapt these components within the itu-ob-editor codebase to ensure a smooth transition or hold the FE code logic at v16.

Let me know if i apply on freelance platform to proceed with this migration, I’d be happy to share the current in-progress state to give someone a solid starting point. Alternatively, I’d be happy to contribute further to help resolve these challenges.

We should also consider migrating to electron-vite as a replacement for electron-webpack. Currently, electron-webpack appears to be a blocker in making the project compatible with the latest dependencies.

Node version: https://nodejs.org/en/blog/release/v20.9.0

image

@jeromebelleman
Copy link
Author

Hi @ronaldtse, @strogonoff, would it be much work for you to follow @harisejaz10p's suggestion?

If so, I would also be happy with a release build for Debian. I've been watching https://github.com/ituob/itu-ob-editor/releases but did you build it maybe somewhere else and I missed it?

Otherwise, is there a Linux distribution and version you can recommend to run 1.0.0-pre1, so we can make progress with the integration in ITU?

We're a bit stuck and happy to consider whichever approach you'll suggest.

@ronaldtse
Copy link
Contributor

ronaldtse commented Nov 28, 2024

@jeromebelleman we will be moving ahead in the task #125 . Thanks.

Thank you for your insights @harisejaz10p , please contact me directly so we can further communicate. Perhaps you can assist us in updating other packages. This task is currently handled by @SmartWolf1220 .

@strogonoff
Copy link
Collaborator

strogonoff commented Nov 28, 2024

@harisejaz10p is not wrong on a lot of things. Though I’m not sure React 18 is a high priority.

For background, Coulomb was intended as a library to streamline the development of Electron-based apps for structured data editing. We’ve since switched to an extension-based model, where things provided by Coulomb are instead provided by the extension host application (Paneron, which still uses BlueprintJS building blocks at this time, but no longer uses SASS/SCSS in favour of Emotion), so Coulomb has not seen much use in this fashion.

@ronaldtse I’m inclined to say that if we were to package this GUI as a Paneron extension soon, updating Coulomb would be extra effort that wouldn’t provide much benefit. However, other issues like outdated keytar, Electron, and perhaps some other key dependencies are more pressing. And since the Coulomb lib provides some utilities that work with Electron, like IPC helpers, switching to a sufficiently new Electron version may require updating Coulomb’s use of certain Electron APIs to keep the app working.

@strogonoff
Copy link
Collaborator

I’d say if it’s deemed faster the app can just use Electron and Blueprint directly, bypassing and deprecating Coulomb. Alternatively, we could port the GUI to Paneron extension quickly. If we don’t completely switch to ISO 19135 data model right away, implementing the extension is not difficult.

@SmartWolf1220
Copy link

SmartWolf1220 commented Nov 29, 2024

Hello @strogonoff , Now, I'm upgrading the libraries to latest version and migrate from webpack to vite.
Currently Coulomb uses blueprints 3.28 and suitable react version for @blueprintjs/core@^3.28.2 is [email protected].
So, I think we need to upgrade Coulomb module first.

Please tell me your thought.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants