Automatically installing NodeJS/NPM is not working on Alpine Linux/musl
See original GitHub issueDescription 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:
- Created a year ago
- Comments:13 (4 by maintainers)
Top 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 >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
@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.
Sorry, but I currently have no capacity to fix this. Would be best if someone else could do it 😃