--- /dev/null
+diff -uNr node-v8.4.0/deps/uv/src/unix/core.c node-v8.4.0.mod/deps/uv/src/unix/core.c
+--- node-v8.4.0/deps/uv/src/unix/core.c 2017-08-15 19:42:28.000000000 +0300
++++ node-v8.4.0.mod/deps/uv/src/unix/core.c 2017-09-14 16:13:27.292856099 +0300
+@@ -1112,7 +1112,9 @@
+
+ /* No temp environment variables defined */
+ #if defined(__ANDROID__)
+- buf = "/data/local/tmp";
++ // Don't use '/data/local/tmp' in Termux
++ //buf = "/data/local/tmp";
++ buf = "@TERMUX_PREFIX@/tmp";
+ #else
+ buf = "/tmp";
+ #endif
+diff -uNr node-v8.4.0/deps/v8/src/flag-definitions.h node-v8.4.0.mod/deps/v8/src/flag-definitions.h
+--- node-v8.4.0/deps/v8/src/flag-definitions.h 2017-08-15 19:42:30.000000000 +0300
++++ node-v8.4.0.mod/deps/v8/src/flag-definitions.h 2017-09-14 16:12:34.462856137 +0300
+@@ -1203,7 +1203,7 @@
+ DEFINE_BOOL(perf_prof_unwinding_info, false,
+ "Enable unwinding info for perf linux profiler (experimental).")
+ DEFINE_IMPLICATION(perf_prof, perf_prof_unwinding_info)
+-DEFINE_STRING(gc_fake_mmap, "/tmp/__v8_gc__",
++DEFINE_STRING(gc_fake_mmap, "@TERMUX_PREFIX@/tmp/__v8_gc__",
+ "Specify the name of the file for fake gc mmap used in ll_prof")
+ DEFINE_BOOL(log_internal_timer_events, false, "Time internal events.")
+ DEFINE_BOOL(log_timer_events, false,
+diff -uNr node-v8.4.0/deps/v8/src/log.cc node-v8.4.0.mod/deps/v8/src/log.cc
+--- node-v8.4.0/deps/v8/src/log.cc 2017-08-15 19:42:31.000000000 +0300
++++ node-v8.4.0.mod/deps/v8/src/log.cc 2017-09-14 16:11:05.192856201 +0300
+@@ -233,7 +233,7 @@
+ FILE* perf_output_handle_;
+ };
+
+-const char PerfBasicLogger::kFilenameFormatString[] = "/tmp/perf-%d.map";
++const char PerfBasicLogger::kFilenameFormatString[] = "@TERMUX_PREFIX@/tmp/perf-%d.map";
+ // Extra space for the PID in the filename
+ const int PerfBasicLogger::kFilenameBufferPadding = 16;
+