diff '--color=auto' -uNr node-v16.14.2.orig/src/node_main.cc node-v16.14.2/src/node_main.cc
--- node-v16.14.2.orig/src/node_main.cc	2022-03-18 15:06:23.951091188 +0530
+++ node-v16.14.2/src/node_main.cc	2022-03-18 15:08:55.611091130 +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