diff '--color=auto' -uNr node-v17.8.0.orig/src/node_main.cc node-v17.8.0/src/node_main.cc
--- node-v17.8.0.orig/src/node_main.cc	2022-03-26 22:11:04.185459285 +0530
+++ node-v17.8.0/src/node_main.cc	2022-03-26 22:12:30.375459252 +0530
@@ -124,6 +124,10 @@
   // calls elsewhere in the program (e.g., any logging from V8.)
   setvbuf(stdout, nullptr, _IONBF, 0);
   setvbuf(stderr, nullptr, _IONBF, 0);
+  if(getenv("TMPDIR") == NULL) {
+    // Give javascript programs (such as updated versions of npm) a working tmpdir.
+    putenv("TMPDIR=@TERMUX_PREFIX@/tmp");
+  }
   return node::Start(argc, argv);
 }
 #endif
