next.js icon indicating copy to clipboard operation
next.js copied to clipboard

Unable to download swc package - Next.js project in Android Termux

Open Clever-Shivanshu opened this issue 1 year ago • 44 comments

Link to the code that reproduces this issue

https://github.com/Clever-Shivanshu/file-upload-api

To Reproduce

  1. Start the Application by npm run dev
  2. Visit localhost:3000/api/fileUpload
  3. It crashes in Android termux after it

Current vs. Expected behavior

I am getting trying to create a api which takes files and save in public/uploads

But when go to http://localhost:3000/api/fileUpload

It crashes and getting this `$ npm run dev

[email protected] dev next dev

▲ Next.js 14.0.2

  • Local: http://localhost:3000

Disabled SWC as replacement for Babel because of custom Babel configuration ".babelrc" https://nextjs.org/docs/messages/swc-disabled ✓ Ready in 5.6s ⚠ Attempted to load @next/swc-android-arm64, but it was not installed ⚠ Found lockfile missing swc dependencies, patching... ⨯ Failed to patch lockfile, please try uninstalling and reinstalling next in this workspace TypeError: fetch failed at Object.fetch (node:internal/deps/undici/undici:11522:11) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async fetchPkgInfo (/data/data/com.termux/files/home/file-upload-api/node_modules/next/dist/lib/patch-incorrect-lockfile.js:64:17) at async Promise.all (index 0) at async patchIncorrectLockfile (/data/data/com.termux/files/home/file-upload-api/node_modules/next/dist/lib/patch-incorrect-lockfile.js:160:26) { cause: Error [ERR_SOCKET_CONNECTION_TIMEOUT]: Socket connection timeout at new NodeError (node:internal/errors:399:5) at internalConnectMultiple (node:net:1099:20) at Timeout.internalConnectMultipleTimeout (node:net:1638:3) at listOnTimeout (node:internal/timers:575:11) at process.processTimers (node:internal/timers:514:7) { code: 'ERR_SOCKET_CONNECTION_TIMEOUT' } } ⨯ Failed to load SWC binary for android/arm64, see more info here: https://nextjs.org/docs/messages/failed-loading-swc`

Verify canary release

  • [X] I verified that the issue exists in the latest Next.js canary release

Provide environment information

OS: Android 13
App: termux

Which area(s) are affected? (Select all that apply)

SWC minifier (swcMinify: true)

Additional context

I tried to fix it but not working

Clever-Shivanshu avatar Nov 15 '23 13:11 Clever-Shivanshu

I also have that issue. NextJS was working perfectly before version 14 now I get this error: ⨯ Failed to download swc package from https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-14.0.3.tgz Error: request failed with status 404

budchirp avatar Nov 25 '23 10:11 budchirp

@budchirp do you got solution

Clever-Shivanshu avatar Nov 29 '23 10:11 Clever-Shivanshu

@vercel fix it

Clever-Shivanshu avatar Nov 29 '23 10:11 Clever-Shivanshu

I also faced the same issue. I'm getting an error like Downloading swc package @next/swc-android-arm64... ⨯ Failed to download swc package from https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-14.0.4.tgz Error: request failed with status 404

Is there any solution or workaround? Any help is appreciated. Screenshot_2023-12-14-16-51-05-23_84d3000e3f4017145260f7618db1d683

aritraanish avatar Dec 14 '23 21:12 aritraanish

I'm getting the same 404 error when in ubuntu 22 proot termux.

campbellgoe avatar Dec 25 '23 15:12 campbellgoe

I also faced the same issue. I'm getting an error like Downloading swc package @next/swc-android-arm64... ⨯ Failed to download swc package from https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-14.0.4.tgz Error: request failed with status 404

Is there any solution or workaround? Any help is appreciated. Screenshot_2023-12-14-16-51-05-23_84d3000e3f4017145260f7618db1d683

+1. I also get this issue

agcrisbp avatar Jan 01 '24 16:01 agcrisbp

I also have this problem on Linux Bookworm with Bash terminal. The url that gets the 404 is https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-14.0.4.tgz

quietCoder500 avatar Jan 04 '24 22:01 quietCoder500

I'm getting the same 404 error when in ubuntu 22 proot termux.

Install rust

Dimeji-go avatar Jan 14 '24 02:01 Dimeji-go

I'm getting the same 404 error when in ubuntu 22 proot termux.

Install rust

I inderstand swc is built with rust but that does not help, I've installed rust and the project still gets the 404

campbellgoe avatar Jan 18 '24 08:01 campbellgoe

I'm getting the same 404 error when in ubuntu 22 proot termux.

Install rust

I inderstand swc is built with rust but that does not help, I've installed rust and the project still gets the 404

Works for me, just install rust in any termux proot with curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh and install nextjs latest version

Dimeji-go avatar Jan 19 '24 23:01 Dimeji-go

I'm getting the same 404 error when in ubuntu 22 proot termux.

Install rust

I inderstand swc is built with rust but that does not help, I've installed rust and the project still gets the 404

Works for me, just install rust in any termux proot with curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh and install nextjs latest version

This is what I get:

root@localhost:~/projects/next-canvas# yarn build yarn run v1.22.19 $ next build ▲ Next.js 14.0.4

Downloading swc package @next/swc-android-arm64... ⨯ Failed to download swc package from https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-14.0.4.tgz unhandledRejection Error: request failed with status 404 at /root/projects/next-canvas/node_modules/next/dist/lib/download-swc.js:96:23 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async extractBinary (/root/projects/next-canvas/node_modules/next/dist/lib/download-swc.js:90:9) at async downloadNativeNextSwc (/root/projects/next-canvas/node_modules/next/dist/lib/download-swc.js:151:9) at async tryLoadNativeWithFallback (/root/projects/next-canvas/node_modules/next/dist/build/swc/index.js:291:5) at async /root/projects/next-canvas/node_modules/next/dist/build/swc/index.js:275:40 error Command failed with exit code 1. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. root@localhost:~/projects/next-canvas# rustc --version rustc 1.75.0 (82e1608df 2023-12-21)

campbellgoe avatar Jan 20 '24 08:01 campbellgoe

I'm getting the same 404 error when in ubuntu 22 proot termux.

Install rust

I inderstand swc is built with rust but that does not help, I've installed rust and the project still gets the 404

Works for me, just install rust in any termux proot with curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh and install nextjs latest version

This is what I get:

root@localhost:~/projects/next-canvas# yarn build yarn run v1.22.19 $ next build ▲ Next.js 14.0.4

Downloading swc package @next/swc-android-arm64... ⨯ Failed to download swc package from https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-14.0.4.tgz unhandledRejection Error: request failed with status 404 at /root/projects/next-canvas/node_modules/next/dist/lib/download-swc.js:96:23 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async extractBinary (/root/projects/next-canvas/node_modules/next/dist/lib/download-swc.js:90:9) at async downloadNativeNextSwc (/root/projects/next-canvas/node_modules/next/dist/lib/download-swc.js:151:9) at async tryLoadNativeWithFallback (/root/projects/next-canvas/node_modules/next/dist/build/swc/index.js:291:5) at async /root/projects/next-canvas/node_modules/next/dist/build/swc/index.js:275:40 error Command failed with exit code 1. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. root@localhost:~/projects/next-canvas# rustc --version rustc 1.75.0 (82e1608df 2023-12-21)

what your node & npm version? I use proot-ubuntu and works fine.

agcrisbp avatar Jan 21 '24 15:01 agcrisbp

I'm getting the same 404 error when in ubuntu 22 proot termux.

Install rust

I inderstand swc is built with rust but that does not help, I've installed rust and the project still gets the 404

Works for me, just install rust in any termux proot with curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh and install nextjs latest version

This is what I get:

root@localhost:~/projects/next-canvas# yarn build yarn run v1.22.19 $ next build ▲ Next.js 14.0.4

Downloading swc package @next/swc-android-arm64... ⨯ Failed to download swc package from https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-14.0.4.tgz unhandledRejection Error: request failed with status 404 at /root/projects/next-canvas/node_modules/next/dist/lib/download-swc.js:96:23 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async extractBinary (/root/projects/next-canvas/node_modules/next/dist/lib/download-swc.js:90:9) at async downloadNativeNextSwc (/root/projects/next-canvas/node_modules/next/dist/lib/download-swc.js:151:9) at async tryLoadNativeWithFallback (/root/projects/next-canvas/node_modules/next/dist/build/swc/index.js:291:5) at async /root/projects/next-canvas/node_modules/next/dist/build/swc/index.js:275:40 error Command failed with exit code 1. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. root@localhost:~/projects/next-canvas# rustc --version rustc 1.75.0 (82e1608df 2023-12-21)

Try npm in proot debian or Ubuntu

Dimeji-go avatar Jan 27 '24 08:01 Dimeji-go

I'm getting the same 404 error when in ubuntu 22 proot termux.

Install rust

I inderstand swc is built with rust but that does not help, I've installed rust and the project still gets the 404

Works for me, just install rust in any termux proot with curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh and install nextjs latest version

This is what I get: root@localhost:~/projects/next-canvas# yarn build yarn run v1.22.19 $ next build ▲ Next.js 14.0.4 Downloading swc package @next/swc-android-arm64... ⨯ Failed to download swc package from https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-14.0.4.tgz unhandledRejection Error: request failed with status 404 at /root/projects/next-canvas/node_modules/next/dist/lib/download-swc.js:96:23 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async extractBinary (/root/projects/next-canvas/node_modules/next/dist/lib/download-swc.js:90:9) at async downloadNativeNextSwc (/root/projects/next-canvas/node_modules/next/dist/lib/download-swc.js:151:9) at async tryLoadNativeWithFallback (/root/projects/next-canvas/node_modules/next/dist/build/swc/index.js:291:5) at async /root/projects/next-canvas/node_modules/next/dist/build/swc/index.js:275:40 error Command failed with exit code 1. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. root@localhost:~/projects/next-canvas# rustc --version rustc 1.75.0 (82e1608df 2023-12-21)

Try npm in proot debian or Ubuntu

if you use Proot, install nodejs and npm latest version using nvm.

image

image

agcrisbp avatar Jan 28 '24 22:01 agcrisbp

bro this doesn't work in termux android

Clever-Shivanshu avatar Jan 31 '24 08:01 Clever-Shivanshu

bro this doesn't work in termux android

install proot-distro in Termux then.

agcrisbp avatar Jan 31 '24 10:01 agcrisbp

Thanks the answer was to use proot and installed nvm, then cd into your next.js project and create an .nvmrc with the version of node. You can use nvm install --lts to install the latest LTS version. npm install, npm build - this time build doesn't fail due to missing swc.

campbellgoe avatar Feb 01 '24 12:02 campbellgoe

bro this doesn't work in termux android

install proot-distro in Termux then.

proot should not be the solution. more libraries and tools should support Android.

budchirp avatar Feb 11 '24 15:02 budchirp

Looking at the @next/swc-android-arm64 package on the NPM registry, the latest version is 13.2.4.

This appears to be tied to the NextJS version. If you downgrade to that NextJS version, the download should be successful.

Looks like the releases are usually published by the vercel-release-bot, so someone from Vercel will likely need to have this built and published for the 14.x releases.

clee231 avatar Feb 14 '24 18:02 clee231

I'm getting the same 404 error when in ubuntu 22 proot termux.

Install rust

I inderstand swc is built with rust but that does not help, I've installed rust and the project still gets the 404

Works for me, just install rust in any termux proot with curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh and install nextjs latest version

Does the Android device have to be rooted ?

templar-ajay avatar Feb 16 '24 05:02 templar-ajay

I'm getting the same 404 error when in ubuntu 22 proot termux.

Install rust

I inderstand swc is built with rust but that does not help, I've installed rust and the project still gets the 404

Works for me, just install rust in any termux proot with curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh and install nextjs latest version

Does the Android device have to be rooted ?

to install proot-distro? nope!

agcrisbp avatar Feb 21 '24 11:02 agcrisbp

@clee231 I've also come to the same conclusion In my case, I was trying to run an next app on a raspberry pie, couldn't opt out of swc, and couldn't install its binary, and the only thing that did help was downgrading next to be on par with swc's version (@swc/core-linux-arm-gnueabihf in my case)

Do you know what should we do to notify the maintainers of vercel to build those packages?

avshyz avatar Feb 27 '24 10:02 avshyz

@vercel team please respond

Clever-Shivanshu avatar Feb 29 '24 10:02 Clever-Shivanshu

image * please update the package to v14

zFitness avatar Apr 03 '24 07:04 zFitness

image * please update the package to v14

Thank you sir for doing this

Clever-Shivanshu avatar Apr 14 '24 08:04 Clever-Shivanshu

Just run following command it Will fix the issue

npm i @next/swc-android-arm64

syedshafique avatar May 02 '24 16:05 syedshafique

What about cpu which are arm only not arm64 I tried installing @next/swc-android-arm-eabi And it got installed now when i am starting the server the server get start for 2secs and exit without any error

anishdevtech avatar May 03 '24 16:05 anishdevtech

I'm getting the same 404 error when in ubuntu 22 proot termux.

Install rust

I inderstand swc is built with rust but that does not help, I've installed rust and the project still gets the 404

Works for me, just install rust in any termux proot with curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh and install nextjs latest version

This is what I get:

root@localhost:~/projects/next-canvas# yarn build yarn run v1.22.19 $ next build ▲ Next.js 14.0.4

Downloading swc package @next/swc-android-arm64... ⨯ Failed to download swc package from https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-14.0.4.tgz unhandledRejection Error: request failed with status 404 at /root/projects/next-canvas/node_modules/next/dist/lib/download-swc.js:96:23 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async extractBinary (/root/projects/next-canvas/node_modules/next/dist/lib/download-swc.js:90:9) at async downloadNativeNextSwc (/root/projects/next-canvas/node_modules/next/dist/lib/download-swc.js:151:9) at async tryLoadNativeWithFallback (/root/projects/next-canvas/node_modules/next/dist/build/swc/index.js:291:5) at async /root/projects/next-canvas/node_modules/next/dist/build/swc/index.js:275:40 error Command failed with exit code 1. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. root@localhost:~/projects/next-canvas# rustc --version rustc 1.75.0 (82e1608df 2023-12-21)

Hi I tried nextjs 15.0.0-rc and next installed @next/swc-wasm-nodejs package rather than @next/swc-android-arm64 and this works now!!

mahmood601 avatar May 29 '24 18:05 mahmood601

I don't think this is the right answer, but if you're developing in a local environment and want to get it up and running on Termux, build it locally, transfer it to something like SCP, and run it into production on Termux.

npm run build
scp -P <PORT> -r .next public package.json package-lock.json id@ip://...

Here's the script we ran on Termux

npm i --omit=dev
npm run start

My package.json looks like this

{
  "name": "my-app",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "next start",
    "lint": "next lint"
  },
  "dependencies": {
    "next": "^15.0.0-rc.0",
    "react": "^19.0.0-rc-6230622a1a-20240610",
    "react-dom": "^19.0.0-rc-6230622a1a-20240610"
  },
  "devDependencies": {
    "@types/node": "^20",
    "@types/react": "^18",
    "@types/react-dom": "^18",
    "eslint": "^8",
    "eslint-config-next": "^15.0.0-rc.0",
    "postcss": "^8",
    "tailwindcss": "^3.4.1",
    "typescript": "^5"
  }
}

image image

Park-Jongseok avatar Jun 11 '24 02:06 Park-Jongseok

I'm getting the same 404 error when in ubuntu 22 proot termux.

Install rust

I inderstand swc is built with rust but that does not help, I've installed rust and the project still gets the 404

Works for me, just install rust in any termux proot with curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh and install nextjs latest version

This is what I get: root@localhost:~/projects/next-canvas# yarn build yarn run v1.22.19 $ next build ▲ Next.js 14.0.4 Downloading swc package @next/swc-android-arm64... ⨯ Failed to download swc package from https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-14.0.4.tgz unhandledRejection Error: request failed with status 404 at /root/projects/next-canvas/node_modules/next/dist/lib/download-swc.js:96:23 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async extractBinary (/root/projects/next-canvas/node_modules/next/dist/lib/download-swc.js:90:9) at async downloadNativeNextSwc (/root/projects/next-canvas/node_modules/next/dist/lib/download-swc.js:151:9) at async tryLoadNativeWithFallback (/root/projects/next-canvas/node_modules/next/dist/build/swc/index.js:291:5) at async /root/projects/next-canvas/node_modules/next/dist/build/swc/index.js:275:40 error Command failed with exit code 1. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. root@localhost:~/projects/next-canvas# rustc --version rustc 1.75.0 (82e1608df 2023-12-21)

Hi I tried nextjs 15.0.0-rc and next installed @next/swc-wasm-nodejs package rather than @next/swc-android-arm64 and this works now!!

THT IS NOT WORKING FOR ME BECAUSE IT IS ATTEMPTING TO INSTAL next/sws-andriod-arm64 also

next dev --turbo

  ▲ Next.js 15.0.0-rc.0 (turbo)
  - Local:        http://localhost:3000
  - Experiments (use with caution):
    · ppr
    · reactCompiler

 ✓ Starting...
 ⚠ Attempted to load @next/swc-android-arm-eabi, but it was not installed
TypeError: bindings.turbo.createProject is not a function
    at createHotReloaderTurbopack (/data/data/com.termux/files/home/WEATHER_APP/node_modules/next/dist/server/dev/hot-reloader-turbopack.js:105:42)
    at async startWatcher (/data/data/com.termux/files/home/WEATHER_APP/node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.js:144:38)
    at async setupDevBundler (/data/data/com.termux/files/home/WEATHER_APP/node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.js:769:20)
    at async Span.traceAsyncFn (/data/data/com.termux/files/home/WEATHER_APP/node_modules/next/dist/trace/trace.js:157:20)
    at async initialize (/data/data/com.termux/files/home/WEATHER_APP/node_modules/next/dist/server/lib/router-server.js:79:30)
    at async Server.<anonymous> (/data/data/com.termux/files/home/WEATHER_APP/node_modules/next/dist/server/lib/start-server.js:250:36)

If I install sws-andriod-arm64 then the issue is it doesn't support arm but support arm64 if I use --force to install tht then my nextjs app start but exist after 2sec @balazsorban44 fix this plz or give some solution

anishdevtech avatar Jun 25 '24 05:06 anishdevtech