-
Notifications
You must be signed in to change notification settings - Fork 2k
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
NPM install stucks with node:20 #1946
Comments
I have the same issue with yarn |
Same here. My image works with Node 16, 18 and 19. With 20 even Update: on my pipeline based on Ubuntu-22.04 linux/amd64 works |
I just tried on Ventura with an M2 chip and it didn't hang |
I am ablwe to reproduce the behavior when disabling my network. I am wondering if some firewall rule might be blocking traffic. |
Hi, I'm also facing the same issue. I'm using M1 Mac. I'm observing this issue since last week. I have tried Node 20,18 alpine, slim and latest. The issue persist. |
I was able to run yarn and npm commands now after disabling Use Rosetta for x86/amd64 emulation on Apple Silicon option in docker settings. Not sure this is a fix. |
I'm encountering the same issue - docker build hangs on (Why do this? I want to test an image on my mac laptop that will eventually run in an amd64 environment, and one apt dependency does not have an arm64 version) Workarounds I found:
Dockerfile
package.json
index.js
Console output
|
Same issue affecting npm and yarn when using |
got same issues , you can easily duplicate this issue with below commands
Then it stucks at installation forever. run tests on below platforms
|
My workaround at the moment is to stay on Node 18.x. |
Also have the same issue, and reverted back to Node 18.x for my docker builds. |
It seems that this is a duplicate of #1798? I see the same seqence of |
Upgrading from Docker Desktop 4.21 to 4.26.1 (Latest at the time of this writing) seems to have fixed this problem for me on an M2 Mac. |
# linux/arm/v7 arm32 is not supported by node20 nodejs/docker-node#1946
TriggerWhat triggered this problem for me was updating my SolutionThe key solution for me was using DetailsHere are some additional details I gathered before finding the final solution, in case it's helpful for others, or for debugging the root problem. Sorta SolutionsThese attempts somewhat worked but not in a satisfactory way...
Non-SolutionsThese attempts didn't work...
|
Using |
My finding is that it eventually goes through the installation process, but hangs for 2 - 5 minutes. In my build process there are two node applications installed in node:20, the other one goes through fine, the second one hangs. Both have lockfileVersion 3. Only difference I can find is that the non-functioning one is defined as a "type": "module" in package.json. |
* chore: Upgrade stack versions * Revert node upgrade See nodejs/docker-node#1946
It's still a thing on node 22 :/ |
Thanks @diego-coba ! I will give it a try. I wanted to add that I only experience this issue when |
Downgrading npm version as suggested to @10.3.0 worked for me. Thanks |
I can confirm that downgrading my node image from node:lts-slim to node:22.9-slim fixed the issue for me. At the time of writing node:lts-slim was resolving to node:22.11-slim. I did not try node:22.10-slim. The issue was not occurring on OSX (orbstack+arm64) image builds but was happening for me on linux/amd64 builds running on a linux/amd64 system. |
I also downgraded npm to 10.3.0 and that seems to have fixed the problem. |
I had the same issue building for ARM7 and ARM64. |
Same here! Downgrading to npm v10.3.0 does fix the issue. |
This was fixed in npm 10.9.1 (via npm/npm-install-checks#120) |
I had just had to cancel a cross plattform docker build for armv7 after 4 hours. I used alpine:edge with npm 10.9.1 as builder and npm install stuck. So may be there is still a qemu problem? |
You would need to debug this further adding timings and debug log to your task, there is still a few things that can make npm freeze One is a kernel issue amazonlinux/amazon-linux-2023#840 (comment) (you can try the workaround and see if that helps) Another possibility is one of your dependency is building something and this is what's getting stuck You will need to find the cause or do some debugging before we can be of further help |
I have set up a package.json with no packages. Using alpine:edge with npm 10.9.1 with target x64, the docker build finishes within seconds. With target armv7, the npm install makes no progress even after 1 hour. With alpine:3.18.9, the npm install only takes a few seconds to complete with armv7 target. The first failing version is alpine:19.1.0 which uses npm 10. The mentioned workaround has no effect. |
Exact same symptoms here with a Any of these 3 independent workarounds seem to work for me (tested multiple times):
|
For me the fix was:
but that is temp solution |
This seems to be a problem with nodejs? The simplest way to reproduce (alpine
|
How is this still a problem? after such a long time |
@kaaax0815 It should not be. If you use up to date version of npm and node. |
see https://github.com/wg-easy/wg-easy/blob/feat-ui/Dockerfile when adding
in the second stage at eg line 52. it hangs forever on armv6 and / or armv7. see this run: https://github.com/wg-easy/wg-easy/actions/runs/13131908403/job/36660697482 (wg-easy/wg-easy@e2f6ad5) |
The first step would be upgrading npm as you can see: New major version of npm available! 10.9.2 -> 11.1.0
You also seem to be running a mix of npm and pnpm, which is doomed to fail. Except for the name they are very different package managers and handle things differently |
Sorry. Was a typo. I was using Edit: nvm I was using npm, but why does it only in GitHub actions. Building it locally works fine. In the second stage there is no pnpm as I only normally copy build results. So using npm should be fine |
In my testing this only happens when running a musl Node build in an emulated environment, for instance my platform does not support armv7 natively
Adding emulated support
Now, the following works
But the following hangs forever
There may be other conditions that also cause |
I can confirm the problem pipex has on a mac m1 pro. It worked once, but after a uninstall and reinstall of binfmt it stopped working again. This is very weird |
Environment
Expected Behavior
NPM install should be started. I've tested this with node:18 image instead and it works. node:20-slim stucks too.
Current Behavior
NPM install does not start and stucks.
I've tried other npm commands like
npm cache clean --force
but those stuck too.Possible Solution
Steps to Reproduce
I'm using the docker file from official nodejs example :
Additional Information
The text was updated successfully, but these errors were encountered: