question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Automatically installing NodeJS/NPM is not working on Alpine Linux/musl

See original GitHub issue

Description of the bug

The automatic installation of NodeJS is not working on Alpine Linux or any other Linux distribution that uses musl instead of libgc

NPM get’s downloaded however it’s not executable (fails with error=2, No such file or directory). The error message is a bit confusing as the file itself exists but the linked libraries don’t. When inspecting the downloaded binary with ldd the following is returned:

bash-5.1# ldd /root/.vaadin/node/node
        /lib64/ld-linux-x86-64.so.2 (0x7f1fc697f000)
        libdl.so.2 => /lib64/ld-linux-x86-64.so.2 (0x7f1fc697f000)
Error loading shared library libstdc++.so.6: No such file or directory (needed by /root/.vaadin/node/node)
        libm.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7f1fc697f000)
Error loading shared library libgcc_s.so.1: No such file or directory (needed by /root/.vaadin/node/node)
        libpthread.so.0 => /lib64/ld-linux-x86-64.so.2 (0x7f1fc697f000)
        libc.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7f1fc697f000)
Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /root/.vaadin/node/node)
Error relocating /root/.vaadin/node/node: _ZNKSs7compareEmmRKSs: symbol not found
Error relocating /root/.vaadin/node/node: _ZNSs7replaceEmmPKcm: symbol not found
...

Currently applied workaround by us:

  • Install nodejs and npm via the package manager (apk)
    # Install latest LTS nodejs and npm
    RUN apk add --no-cache --repository=https://dl-cdn.alpinelinux.org/alpine/edge/main/ nodejs
    RUN apk add --no-cache --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community/ npm
    

Related helpful issue: https://github.com/nvm-sh/nvm/issues/1102

Expected behavior

Optimal solution

The correct npm/nodejs is installed for Alpine Linux/musl.

Solution that would improve handling the problem

If Alpine linux/musl is detected and the above error occurs print something like: “Please install nodejs/npm manually for alpine linux due to …”

Minimal reproducible example

  • Install Docker
  • Start a new alpine container with maven, e.g. docker run --rm -it maven:3-eclipse-temurin-17-alpine /bin/bash
  • Generate a maven project: mvn -B archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
  • Go into the generated directory cd my-app/
  • Run the prepare-frontend goal which should install node: mvn com.vaadin:vaadin-maven-plugin:prepare-frontend

Error message:

[INFO] Couldn't find node. Installing Node and npm to /root/.vaadin.
[INFO] Installing node version v16.15.0
[INFO] Downloading https://nodejs.org/dist/v16.15.0/node-v16.15.0-linux-x64.tar.gz to /root/.vaadin/node-v16.15.0-linux-x64.tar.gz
[INFO] No proxies configured
[INFO] No proxy was configured, downloading directly
[INFO] Unpacking /root/.vaadin/node-v16.15.0-linux-x64.tar.gz into /root/.vaadin/node/tmp
[INFO] Copying node binary from /root/.vaadin/node/tmp/node-v16.15.0-linux-x64/bin/node to /root/.vaadin/node/node
[INFO] Extracting npm
[INFO] Local node installation successful.
[WARNING] Error checking if node is new enough
com.vaadin.flow.server.frontend.FrontendUtils$UnknownVersionException: Unable to detect version of node. Using command /root/.vaadin/node/node --version
    at com.vaadin.flow.server.frontend.FrontendUtils.getVersion (FrontendUtils.java:974)
    at com.vaadin.flow.server.frontend.FrontendTools.getNodeVersionAndExecutable (FrontendTools.java:673)
    at com.vaadin.flow.server.frontend.FrontendTools.validateNodeAndNpmVersion (FrontendTools.java:628)
    at com.vaadin.flow.plugin.base.BuildFrontendUtil.prepareFrontend (BuildFrontendUtil.java:132)
    at com.vaadin.flow.plugin.maven.PrepareFrontendMojo.execute (PrepareFrontendMojo.java:56)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:301)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:211)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:165)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:157)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:121)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:127)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:294)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:960)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:568)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: com.vaadin.flow.server.frontend.FrontendUtils$CommandExecutionException: Process execution failed
    at com.vaadin.flow.server.frontend.FrontendUtils.executeCommand (FrontendUtils.java:1008)
    at com.vaadin.flow.server.frontend.FrontendUtils.getVersion (FrontendUtils.java:971)
    at com.vaadin.flow.server.frontend.FrontendTools.getNodeVersionAndExecutable (FrontendTools.java:673)
    at com.vaadin.flow.server.frontend.FrontendTools.validateNodeAndNpmVersion (FrontendTools.java:628)
    at com.vaadin.flow.plugin.base.BuildFrontendUtil.prepareFrontend (BuildFrontendUtil.java:132)
    at com.vaadin.flow.plugin.maven.PrepareFrontendMojo.execute (PrepareFrontendMojo.java:56)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:301)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:211)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:165)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:157)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:121)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:127)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:294)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:960)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:568)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: java.io.IOException: Cannot run program "/root/.vaadin/node/node": error=2, No such file or directory
    at java.lang.ProcessBuilder.start (ProcessBuilder.java:1143)
    at java.lang.ProcessBuilder.start (ProcessBuilder.java:1073)
    at com.vaadin.flow.server.frontend.FrontendUtils.executeCommand (FrontendUtils.java:1001)
    at com.vaadin.flow.server.frontend.FrontendUtils.getVersion (FrontendUtils.java:971)
    at com.vaadin.flow.server.frontend.FrontendTools.getNodeVersionAndExecutable (FrontendTools.java:673)
    at com.vaadin.flow.server.frontend.FrontendTools.validateNodeAndNpmVersion (FrontendTools.java:628)
    at com.vaadin.flow.plugin.base.BuildFrontendUtil.prepareFrontend (BuildFrontendUtil.java:132)
    at com.vaadin.flow.plugin.maven.PrepareFrontendMojo.execute (PrepareFrontendMojo.java:56)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:301)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:211)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:165)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:157)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:121)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:127)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:294)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:960)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:568)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: java.io.IOException: error=2, No such file or directory
    at java.lang.ProcessImpl.forkAndExec (Native Method)
    at java.lang.ProcessImpl.<init> (ProcessImpl.java:314)
    at java.lang.ProcessImpl.start (ProcessImpl.java:244)
    at java.lang.ProcessBuilder.start (ProcessBuilder.java:1110)
    at java.lang.ProcessBuilder.start (ProcessBuilder.java:1073)
    at com.vaadin.flow.server.frontend.FrontendUtils.executeCommand (FrontendUtils.java:1001)
    at com.vaadin.flow.server.frontend.FrontendUtils.getVersion (FrontendUtils.java:971)
    at com.vaadin.flow.server.frontend.FrontendTools.getNodeVersionAndExecutable (FrontendTools.java:673)
    at com.vaadin.flow.server.frontend.FrontendTools.validateNodeAndNpmVersion (FrontendTools.java:628)
    at com.vaadin.flow.plugin.base.BuildFrontendUtil.prepareFrontend (BuildFrontendUtil.java:132)
    at com.vaadin.flow.plugin.maven.PrepareFrontendMojo.execute (PrepareFrontendMojo.java:56)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:301)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:211)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:165)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:157)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:121)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:127)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:294)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:960)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:568)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
[ERROR] Failed to execute the command '[/root/.vaadin/node/node, -v]'
java.io.IOException: Cannot run program "/root/.vaadin/node/node": error=2, No such file or directory
    at java.lang.ProcessBuilder.start (ProcessBuilder.java:1143)
    at java.lang.ProcessBuilder.start (ProcessBuilder.java:1073)
    at com.vaadin.flow.server.frontend.FrontendToolsLocator.executeCommand (FrontendToolsLocator.java:122)
    at com.vaadin.flow.server.frontend.FrontendToolsLocator.lambda$verifyTool$2 (FrontendToolsLocator.java:107)
    at java.util.Optional.flatMap (Optional.java:289)
    at com.vaadin.flow.server.frontend.FrontendToolsLocator.verifyTool (FrontendToolsLocator.java:107)
    at com.vaadin.flow.server.frontend.FrontendTools.getExecutable (FrontendTools.java:854)
    at com.vaadin.flow.server.frontend.FrontendTools.getNodeExecutable (FrontendTools.java:455)
    at com.vaadin.flow.server.frontend.FrontendTools.getNodeBinary (FrontendTools.java:1149)
    at com.vaadin.flow.server.frontend.FrontendTools.getNpmScriptCommand (FrontendTools.java:1067)
    at com.vaadin.flow.server.frontend.FrontendTools.getNpmCliToolExecutable (FrontendTools.java:1046)
    at com.vaadin.flow.server.frontend.FrontendTools.getNpmExecutable (FrontendTools.java:980)
    at com.vaadin.flow.server.frontend.FrontendTools.getNpmVersion (FrontendTools.java:812)
    at com.vaadin.flow.server.frontend.FrontendTools.validateNodeAndNpmVersion (FrontendTools.java:647)
    at com.vaadin.flow.plugin.base.BuildFrontendUtil.prepareFrontend (BuildFrontendUtil.java:132)
    at com.vaadin.flow.plugin.maven.PrepareFrontendMojo.execute (PrepareFrontendMojo.java:56)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:301)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:211)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:165)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:157)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:121)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:127)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:294)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:960)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:568)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: java.io.IOException: error=2, No such file or directory
    at java.lang.ProcessImpl.forkAndExec (Native Method)
    at java.lang.ProcessImpl.<init> (ProcessImpl.java:314)
    at java.lang.ProcessImpl.start (ProcessImpl.java:244)
    at java.lang.ProcessBuilder.start (ProcessBuilder.java:1110)
    at java.lang.ProcessBuilder.start (ProcessBuilder.java:1073)
    at com.vaadin.flow.server.frontend.FrontendToolsLocator.executeCommand (FrontendToolsLocator.java:122)
    at com.vaadin.flow.server.frontend.FrontendToolsLocator.lambda$verifyTool$2 (FrontendToolsLocator.java:107)
    at java.util.Optional.flatMap (Optional.java:289)
    at com.vaadin.flow.server.frontend.FrontendToolsLocator.verifyTool (FrontendToolsLocator.java:107)
    at com.vaadin.flow.server.frontend.FrontendTools.getExecutable (FrontendTools.java:854)
    at com.vaadin.flow.server.frontend.FrontendTools.getNodeExecutable (FrontendTools.java:455)
    at com.vaadin.flow.server.frontend.FrontendTools.getNodeBinary (FrontendTools.java:1149)
    at com.vaadin.flow.server.frontend.FrontendTools.getNpmScriptCommand (FrontendTools.java:1067)
    at com.vaadin.flow.server.frontend.FrontendTools.getNpmCliToolExecutable (FrontendTools.java:1046)
    at com.vaadin.flow.server.frontend.FrontendTools.getNpmExecutable (FrontendTools.java:980)
    at com.vaadin.flow.server.frontend.FrontendTools.getNpmVersion (FrontendTools.java:812)
    at com.vaadin.flow.server.frontend.FrontendTools.validateNodeAndNpmVersion (FrontendTools.java:647)
    at com.vaadin.flow.plugin.base.BuildFrontendUtil.prepareFrontend (BuildFrontendUtil.java:132)
    at com.vaadin.flow.plugin.maven.PrepareFrontendMojo.execute (PrepareFrontendMojo.java:56)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:301)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:211)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:165)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:157)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:121)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:127)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:294)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:960)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:568)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
[INFO] Couldn't find node. Installing Node and npm to /root/.vaadin.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  16.630 s
[INFO] Finished at: 2022-05-23T08:58:17Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.vaadin:vaadin-maven-plugin:23.0.9:prepare-frontend (default-cli) on project my-app: Could not execute prepare-frontend goal.: Failed to install Node: Unable to detect version of Node. Using command /root/.vaadin/node/node --version: Cannot run program "/root/.vaadin/node/node": error=2, No such file or directory -> [Help 1][ERROR]

Versions

  • Vaadin / Flow version: 14+, 23
  • Java version: doesn’t matter, I tested it with Java 17
  • OS version: Alpine 3.15

Issue Analytics

  • State:closed
  • Created a year ago
  • Comments:13 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
mshabarovcommented, Aug 15, 2022

@AB-xdev the patch for this issue should be available in next Vaadin releases (preliminary in Vaadin 23.1.7, Vaadin 14.8.16). Please test it on your side and let us know if you still have an issues with Node/NPM auto installations by commenting on this ticket or by creating a new one.

1reaction
AB-xdevcommented, May 25, 2022

Since you are in a context, would you like to contribute to Vaadin Flow and make a pull request?

Sorry, but I currently have no capacity to fix this. Would be best if someone else could do it 😃

Read more comments on GitHub >

github_iconTop Results From Across the Web

Strange errors when running npm install on alpine linux
Indeed, when I ran that dockerfile directly, there was no npm - so I'm not sure how the public image still has it...
Read more >
node - Official Image | Docker Hub
Node.js is a JavaScript-based platform for server-side and networking applications.
Read more >
Installation - High performance Node.js image processing
At npm install time, prebuilt binaries are automatically selected for the current OS platform and CPU architecture, where available. The target platform and/or ......
Read more >
How to install bash shell in Alpine Linux - nixCraft
This page shows how to install a bash shell in Alpine Linux using the apk command.
Read more >
Installing Node.js via package manager
Please report any issues you encounter to the package maintainer. ... operations like install, uninstall, switch Node versions automatically based on the ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found