quarkus-quinoa icon indicating copy to clipboard operation
quarkus-quinoa copied to clipboard

Node Version Manager: interferes with Quinoa

Open DaiYuANg opened this issue 1 year ago • 15 comments

Describe the bug

Here is fedora and nvm environment. Also setting nvm environment for bash. In my terminal using bash or sh pnpm is found but when start in ide there is log

024-09-24 01:37:21,728 INFO  [io.qua.qui.dep.fra.FrameworkType] (build-38) Quinoa detected 'VITE' frameworkType from package.json file.
2024-09-24 01:37:21,965 INFO  [io.qua.qui.dep.QuinoaProcessor] (build-17) Fresh Quinoa build, let's install packages...
2024-09-24 01:37:21,968 INFO  [io.qua.qui.dep.pac.PackageManagerRunner] (build-17) Running Quinoa package manager install command: pnpm install
2024-09-24 01:37:21,971 INFO  [io.qua.qui.dep.pac.PackageManagerRunner] (build-17) sh: line 1: pnpm: command not found
 Failed to start quarkus: java.lang.RuntimeException: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
	[error]: Build step io.quarkiverse.quinoa.deployment.QuinoaProcessor#install threw an exception: java.lang.RuntimeException: Error in Quinoa while running package manager install command: pnpm install
	at io.quarkiverse.quinoa.deployment.packagemanager.PackageManagerRunner.install(PackageManagerRunner.java:86)
	at io.quarkiverse.quinoa.deployment.QuinoaProcessor.install(QuinoaProcessor.java:145)
	at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:733)
	at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:856)
	at io.quarkus.builder.BuildContext.run(BuildContext.java:256)
	at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
	at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2516)
	at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2495)
	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1521)
	at java.base/java.lang.Thread.run(Thread.java:1583)
	at org.jboss.threads.JBossThread.run(JBossThread.java:483)

	at io.quarkus.runner.bootstrap.AugmentActionImpl.runAugment(AugmentActionImpl.java:354)
	at io.quarkus.runner.bootstrap.AugmentActionImpl.createInitialRuntimeApplication(AugmentActionImpl.java:272)
	at io.quarkus.runner.bootstrap.AugmentActionImpl.createInitialRuntimeApplication(AugmentActionImpl.java:62)
	at io.quarkus.deployment.dev.IsolatedDevModeMain.firstStart(IsolatedDevModeMain.java:91)
	at io.quarkus.deployment.dev.IsolatedDevModeMain.accept(IsolatedDevModeMain.java:430)
	at io.quarkus.deployment.dev.IsolatedDevModeMain.accept(IsolatedDevModeMain.java:57)
	at io.quarkus.bootstrap.app.CuratedApplication.runInCl(CuratedApplication.java:138)
	at io.quarkus.bootstrap.app.CuratedApplication.runInAugmentClassLoader(CuratedApplication.java:93)
	at io.quarkus.deployment.dev.DevModeMain.start(DevModeMain.java:131)
	at io.quarkus.deployment.dev.DevModeMain.main(DevModeMain.java:62)
Caused by: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
	[error]: Build step io.quarkiverse.quinoa.deployment.QuinoaProcessor#install threw an exception: java.lang.RuntimeException: Error in Quinoa while running package manager install command: pnpm install
	at io.quarkiverse.quinoa.deployment.packagemanager.PackageManagerRunner.install(PackageManagerRunner.java:86)
	at io.quarkiverse.quinoa.deployment.QuinoaProcessor.install(QuinoaProcessor.java:145)
	at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:733)
	at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:856)
	at io.quarkus.builder.BuildContext.run(BuildContext.java:256)
	at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
	at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2516)
	at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2495)
	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1521)
	at java.base/java.lang.Thread.run(Thread.java:1583)
	at org.jboss.threads.JBossThread.run(JBossThread.java:483)

	at io.quarkus.builder.Execution.run(Execution.java:123)
	at io.quarkus.builder.BuildExecutionBuilder.execute(BuildExecutionBuilder.java:79)
	at io.quarkus.deployment.QuarkusAugmentor.run(QuarkusAugmentor.java:161)
	at io.quarkus.runner.bootstrap.AugmentActionImpl.runAugment(AugmentActionImpl.java:350)
	... 9 more
Caused by: java.lang.RuntimeException: Error in Quinoa while running package manager install command: pnpm install
	at io.quarkiverse.quinoa.deployment.packagemanager.PackageManagerRunner.install(PackageManagerRunner.java:86)
	at io.quarkiverse.quinoa.deployment.QuinoaProcessor.install(QuinoaProcessor.java:145)
	at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:733)
	at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:856)
	at io.quarkus.builder.BuildContext.run(BuildContext.java:256)
	at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
	at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2516)
	at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2495)
	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1521)
	at java.base/java.lang.Thread.run(Thread.java:1583)
	at org.jboss.threads.JBossThread.run(JBossThread.java:483)

Quinoa version

2.4.8

Quarkus version

3.14.4

Build / Runtime

Vite

Package Manager

PNPM

Steps to reproduce the behavior

just setup nvm and new quarkus project with quinoa

Expected behavior

Quarkus startup normally

DaiYuANg avatar Sep 23 '24 17:09 DaiYuANg

can you post your package.json here so I can see it?

melloware avatar Sep 23 '24 17:09 melloware

also do you have?

quarkus.quinoa.package-manager-install.pnpm-version=7.12.0

in your application.properties?

melloware avatar Sep 23 '24 17:09 melloware

can you post your package.json here so I can see it?

{
  "name": "webui",
  "private": true,
  "version": "0.0.0",
  "type": "module",
  "scripts": {
    "dev": "vite",
    "build": "tsc -b && vite build",
    "lint": "eslint .",
    "preview": "vite preview"
  },
  "dependencies": {
    "react": "^18.3.1",
    "react-dom": "^18.3.1"
  },
  "devDependencies": {
    "@eslint/js": "^9.9.0",
    "@types/react": "^18.3.3",
    "@types/react-dom": "^18.3.0",
    "@vitejs/plugin-react-swc": "^3.5.0",
    "eslint": "^9.9.0",
    "eslint-plugin-react-hooks": "^5.1.0-rc.0",
    "eslint-plugin-react-refresh": "^0.4.9",
    "globals": "^15.9.0",
    "typescript": "^5.5.3",
    "typescript-eslint": "^8.0.1",
    "vite": "^5.4.1"
  },
  "packageManager": "[email protected]"
}

Just a new vite project

DaiYuANg avatar Sep 23 '24 17:09 DaiYuANg

also do you have?

quarkus.quinoa.package-manager-install.pnpm-version=7.12.0

in your application.properties?

I set this on package.json

DaiYuANg avatar Sep 23 '24 17:09 DaiYuANg

Quinoa doesn't read the package JSON for the version it reads the application.properties quarkus.quinoa.package-manager-install.pnpm-version=9.11.0 can you try that

melloware avatar Sep 23 '24 17:09 melloware

Quinoa doesn't read the package JSON for the version it reads the application.properties quarkus.quinoa.package-manager-install.pnpm-version=9.11.0 can you try that

quarkus:
  log:
    console:
      json: false
  datasource:
    jdbc: false
    devservices:
      enabled: true
  quinoa:
    package-manager-install:
      pnpm-version: 9.11.0

That does not work still log

sh: line 1: pnpm: command not found

DaiYuANg avatar Sep 23 '24 17:09 DaiYuANg

Quinoa doesn't read the package JSON for the version it reads the application.properties quarkus.quinoa.package-manager-install.pnpm-version=9.11.0 can you try that

quarkus:
  log:
    console:
      json: false
  datasource:
    jdbc: false
    devservices:
      enabled: true
  quinoa:
    package-manager-install:
      pnpm-version: 9.11.0

That does not work still log

sh: line 1: pnpm: command not found

And I make sure the pnpm command work at all shell(bash/sh/zsh)

DaiYuANg avatar Sep 23 '24 17:09 DaiYuANg

ok then its a bug.

melloware avatar Sep 23 '24 17:09 melloware

i am pretty sure our CI/CD tests already test this on Linux but something must be different.

melloware avatar Sep 23 '24 17:09 melloware

i am pretty sure our CI/CD tests already test this on Linux but something must be different.

May its nvm?

DaiYuANg avatar Sep 23 '24 17:09 DaiYuANg

can you try it without NVM?

melloware avatar Sep 23 '24 18:09 melloware

can you try it without NVM?

I remove nvm and using node install from system package manager (dnf) and its does work

DaiYuANg avatar Sep 24 '24 11:09 DaiYuANg

ok so NVM is interfering somehow. Not sure what Quinoa can do here?

melloware avatar Sep 24 '24 12:09 melloware

ok so NVM is interfering somehow. Not sure what Quinoa can do here?

Could we do something compatible for NVM. Like find $NVM_DIR and using binary in NVM current node version?

DaiYuANg avatar Sep 24 '24 14:09 DaiYuANg

I will leave that as a question for @ia3andy

melloware avatar Sep 24 '24 14:09 melloware