build errors in nextjs web app
artivilla
HOBBYOP

a month ago

The same commit is first failing and then building but I still see a warning icon on the canvas card.

How do I upgrade nodejs 18x. Locally I'm using node 23x. There is no railway config file in my git repo. Should I add one and where do I fetch a sample config I can mirror?

How is the same build failing and then running? It's the same commit.

```
[stage-0 4/11] RUN nix-env -if .nixpacks/nixpkgs-31fb21469e34b6b5c7be77b9a35bae43d0c598e9.nix && nix-collect-garbage -d unpacking 'https://github.com/NixOS/nixpkgs/archive/31fb21469e34b6b5c7be77b9a35bae43d0c598e9.tar.gz' into the Git cache... unpacking 'https://github.com/railwayapp/nix-npm-overlay/archive/main.tar.gz' into the Git cache... installing '31fb21469e34b6b5c7be77b9a35bae43d0c598e9-env' error: … while calling the 'derivationStrict' builtin at <nix/derivation-internal.nix>:37:12: 36| 37| strict = derivationStrict drvAttrs; | ^ 38| … while evaluating derivation '31fb21469e34b6b5c7be77b9a35bae43d0c598e9-env' whose name attribute is located at /nix/store/2w56d3yplcdfg19kddn8gd194yj4yzpp-source/pkgs/stdenv/generic/make-derivation.nix:544:13 … while evaluating attribute 'passAsFile' of derivation '31fb21469e34b6b5c7be77b9a35bae43d0c598e9-env' at /nix/store/2w56d3yplcdfg19kddn8gd194yj4yzpp-source/pkgs/build-support/trivial-builders/default.nix:81:9: 80| inherit buildCommand name; 81| passAsFile = [ "buildCommand" ] ++ (derivationArgs.passAsFile or [ ]); | ^ 82| } (stack trace truncated; use '--show-trace' to show the full, detailed trace) error: Node.js 18.x has reached End-Of-Life and has been removed
```

Attachments

Solved$10 Bounty

Pinned Solution

fauzifadhi
PRO

a month ago

for railpack will automatically set based on these files https://railpack.com/languages/node. maybe you can check these files. the default is 22.

and for nixpack the default is 18https://nixpacks.com/docs/providers/node

my suggestion is always set it atleast at every project's package.json manually, it would be good not only for deployment but also for your team version uniformity.

5 Replies

artivilla
HOBBYOP

a month ago

Does this page support markdown code blocks?


Assuming you're using the nixpacks builder (based on the logs it appears that you are) you should be able to set the node version with an environment variable.
NIXPACKS_NODE_VERSION = 23

setting that and restarting should do the trick. You can also try changing the builder to Railpack. Nixpacks is EOL as far as I know

https://nixpacks.com/docs/providers/node


artivilla
HOBBYOP

a month ago

If you don't set anything doesn't railpack automatically kick in? I also never set my own nixpack so unclear how this config is being set.


fauzifadhi
PRO

a month ago

for railpack will automatically set based on these files https://railpack.com/languages/node. maybe you can check these files. the default is 22.

and for nixpack the default is 18https://nixpacks.com/docs/providers/node

my suggestion is always set it atleast at every project's package.json manually, it would be good not only for deployment but also for your team version uniformity.


artivilla

If you don't set anything doesn't railpack automatically kick in? I also never set my own nixpack so unclear how this config is being set.

crisog
MODERATOR

a month ago

Since your service is using Nixpacks (inferred from logs) I'd suggest updating to Railpack by going to Service Settings -> Build.


Status changed to Solved brody about 1 month ago


Loading...