Skip to content

npm error when starting quarkus without npm installed locally #683

@edeandrea

Description

@edeandrea

Describe the bug

When a user is trying to run quarkus dev for an app that uses Quarkus + react they are seeing this exception. The app is configured with

quarkus.quinoa.package-manager-install=true
quarkus.quinoa.package-manager-install.node-version=22.2.0
quarkus.quinoa.build-dir=dist
quarkus.quinoa.enable-spa-routing=true

The user was able to get around the error by installing npm directly on their machine.

[instruct@instructlab app]$ quarkus dev
[INFO] Scanning for projects...
[INFO]
[INFO] ---------------------< org.parasol:insurance-app >----------------------
[INFO] Building insurance-app 1.0.0-SNAPSHOT
[INFO]   from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- quarkus:3.11.0:dev (default-cli) @ insurance-app ---
[INFO] Invoking resources:3.3.1:resources (default-resources) @ insurance-app
[INFO] Copying 2 resources from src/main/resources to target/classes
[INFO] Invoking quarkus:3.11.0:generate-code (default) @ insurance-app
[INFO] Invoking compiler:3.12.1:compile (default-compile) @ insurance-app
[INFO] Nothing to compile - all classes are up to date.
[INFO] Invoking resources:3.3.1:testResources (default-testResources) @ insurance-app
[INFO] skip non existing resourceDirectory /home/instruct/parasol-insurance/app/src/test/resources
[INFO] Invoking quarkus:3.11.0:generate-code-tests (default) @ insurance-app
[INFO] Invoking compiler:3.12.1:testCompile (default-testCompile) @ insurance-app
[INFO] No sources to compile
Listening for transport dt_socket at address: 5005
2024-06-06 13:49:43,115 INFO  [com.git.eir.mav.plu.fro.lib.NodeInstaller] (build-3) Installing node version v22.2.0
2024-06-06 13:49:43,116 INFO  [com.git.eir.mav.plu.fro.lib.NodeInstaller] (build-3) Downloading https://nodejs.org/dist/v22.2.0/node-v22.2.0-linux-x64.tar.gz to /home/instruct/parasol-insurance/app/.quinoa/cache/node-v22.2.0-linux-x64.tar.gz
2024-06-06 13:49:43,538 INFO  [io.qua.dat.dep.dev.DevServicesDatasourceProcessor] (build-35) Dev Services for default datasource (h2) started
2024-06-06 13:49:46,097 INFO  [com.git.eir.mav.plu.fro.lib.NodeInstaller] (build-3) Unpacking /home/instruct/parasol-insurance/app/.quinoa/cache/node-v22.2.0-linux-x64.tar.gz into /home/instruct/parasol-insurance/app/.quinoa/node/tmp
2024-06-06 13:49:47,804 INFO  [com.git.eir.mav.plu.fro.lib.NodeInstaller] (build-3) Copying node binary from /home/instruct/parasol-insurance/app/.quinoa/node/tmp/node-v22.2.0-linux-x64/bin/node to /home/instruct/parasol-insurance/app/.quinoa/node/node
2024-06-06 13:49:49,947 INFO  [com.git.eir.mav.plu.fro.lib.NodeInstaller] (build-3) Extracting NPM
2024-06-06 13:49:50,744 INFO  [com.git.eir.mav.plu.fro.lib.NodeInstaller] (build-3) Installed node locally.
2024-06-06 13:49:50,752 INFO  [io.qua.qui.dep.pac.PackageManagerRunner] (build-19) Running Quinoa package manager build command: node /home/instruct/parasol-insurance/app/.quinoa/node/node_modules/npm/bin/npm-cli.js run build
2024-06-06 13:49:50,755 INFO  [io.qua.hib.orm.dep.dev.HibernateOrmDevServicesProcessor] (build-3) Setting quarkus.hibernate-orm.database.generation=drop-and-create to initialize Dev Services managed database
2024-06-06 13:49:50,944 INFO  [io.qua.qui.dep.pac.PackageManagerRunner] (build-19)
2024-06-06 13:49:50,946 INFO  [io.qua.qui.dep.pac.PackageManagerRunner] (build-19) > [email protected] prebuild
2024-06-06 13:49:50,946 INFO  [io.qua.qui.dep.pac.PackageManagerRunner] (build-19) > npm run type-check && npm run clean
2024-06-06 13:49:50,947 INFO  [io.qua.qui.dep.pac.PackageManagerRunner] (build-19)
2024-06-06 13:49:50,957 INFO  [io.qua.qui.dep.pac.PackageManagerRunner] (build-19) sh: line 1: npm: command not found
2024-06-06 13:49:50,999 INFO  [io.qua.dep.dev.IsolatedDevModeMain] (main) Attempting to start live reload endpoint to recover from previous Quarkus startup failure
2024-06-06 13:49:51,269 ERROR [io.qua.dep.dev.IsolatedDevModeMain] (main) 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#processBuild threw an exception: java.lang.RuntimeException: Error in Quinoa while running package manager build command: node /home/instruct/parasol-insurance/app/.quinoa/node/node_modules/npm/bin/npm-cli.js run build
	at io.quarkiverse.quinoa.deployment.packagemanager.PackageManagerRunner.build(PackageManagerRunner.java:81)
	at io.quarkiverse.quinoa.deployment.QuinoaProcessor.processBuild(QuinoaProcessor.java:179)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:849)
	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:1570)
	at org.jboss.threads.JBossThread.run(JBossThread.java:483)
	at io.quarkus.runner.bootstrap.AugmentActionImpl.runAugment(AugmentActionImpl.java:331)
	at io.quarkus.runner.bootstrap.AugmentActionImpl.createInitialRuntimeApplication(AugmentActionImpl.java:252)
	at io.quarkus.runner.bootstrap.AugmentActionImpl.createInitialRuntimeApplication(AugmentActionImpl.java:58)
	at io.quarkus.deployment.dev.IsolatedDevModeMain.firstStart(IsolatedDevModeMain.java:113)
	at io.quarkus.deployment.dev.IsolatedDevModeMain.accept(IsolatedDevModeMain.java:435)
	at io.quarkus.deployment.dev.IsolatedDevModeMain.accept(IsolatedDevModeMain.java:56)
	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#processBuild threw an exception: java.lang.RuntimeException: Error in Quinoa while running package manager build command: node /home/instruct/parasol-insurance/app/.quinoa/node/node_modules/npm/bin/npm-cli.js run build
	at io.quarkiverse.quinoa.deployment.packagemanager.PackageManagerRunner.build(PackageManagerRunner.java:81)
	at io.quarkiverse.quinoa.deployment.QuinoaProcessor.processBuild(QuinoaProcessor.java:179)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:849)
	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:1570)
	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:160)
	at io.quarkus.runner.bootstrap.AugmentActionImpl.runAugment(AugmentActionImpl.java:327)
	... 9 more
Caused by: java.lang.RuntimeException: Error in Quinoa while running package manager build command: node /home/instruct/parasol-insurance/app/.quinoa/node/node_modules/npm/bin/npm-cli.js run build
	at io.quarkiverse.quinoa.deployment.packagemanager.PackageManagerRunner.build(PackageManagerRunner.java:81)
	at io.quarkiverse.quinoa.deployment.QuinoaProcessor.processBuild(QuinoaProcessor.java:179)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:849)
	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:1570)
	at org.jboss.threads.JBossThread.run(JBossThread.java:483)

Quinoa version

2.3.7

Quarkus version

3.11.0

Build / Runtime

Create React App (CRA)

Package Manager

NPM

Steps to reproduce the behavior

  1. Make sure you DO NOT have node or npm installed locally
  2. Clone https://github.com/jamesfalkner/parasol-insurance
  3. cd app
  4. quarkus dev

Expected behavior

No response

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions