After uninstalling the native versions of nodejs and npm from debian 10, I installed nodejs 16.14.0 thus: cd ~ curl -sL https://deb.nodesource.com/setup_16.x -o nodesource_setup.sh sudo bash nodesource_setup.sh sudo apt-get install -y nodejs From the project directory I initialized the project and installed express.js and pug using a special option to avoid a stupid error: npm init npm install express --no-bin-links npm install pug --no-bin-links At this point I moved this directory from my nas to 'Desktop'. The nas may have been responsible for the bin-linking error above. I then setup sqlite; the then current npm package required an audit fix, resulting in its downgrade to 4.2.0: sudo apt install sqlite3 npm install sqlite3 npm audit fix --force I then installed next.js and turned off its sickening telemetry anti-feature: npm install next react react-dom npx next telemetry disable I then installed nodegit, which unfortunately required a seperate package: sudo apt-get install libkrb5-dev npm install nodegit I then installed and initialized tailwind css: npm install -D tailwindcss postcss autoprefixer npx tailwindcss init -p I then installed highlight.js: npm install highlight.js npm audit fix --force React icons: npm install react-icons React markdown and remark gfm: npm install react-markdown npm install remark-gfm At this point, I encountered some serious app crashing errors including segmentation faults and the following: # # Fatal error in , line 0 # unreachable code # # # #FailureMessage Object: 0x7f07148347f0 1: 0xb77051 [node] # # Fatal error in , line 0 # unreachable code # # # #FailureMessage Object: 0x7fff56148ac0 2: 0x1c0a9b4 V8_Fatal(char const*, ...) [node] 1: 0xb77051 [node] 3: 0xe727c3 v8::internal::ConcurrentMarking::Run(v8::JobDelegate*, v8::base::EnumSet, unsigned int, bool) [node] 2: 0x1c0a9b4 V8_Fatal(char const*, ...) [node] 4: 0xe72d87 v8::internal::ConcurrentMarking::JobTask::Run(v8::JobDelegate*) [node] 3: 0xef0f06 std::pair v8::internal::MarkCompactCollector::ProcessMarkingWorklist<(v8::internal::MarkCompactCollector::MarkingWorklistProcessingMode)0>(unsigned long) [node] 5: 0x18e6ff4 v8::platform::DefaultJobWorker::Run() [node] 4: 0xef5af4 v8::internal::MarkCompactCollector::MarkLiveObjects() [node] 6: 0xb771f5 [node] 5: 0xefed58 v8::internal::MarkCompactCollector::CollectGarbage() [node] 7: 0x7f0715a05fa3 [/lib/x86_64-linux-gnu/libpthread.so.0] 6: 0xebf519 v8::internal::Heap::MarkCompact() [node] 8: 0x7f0715936eff clone [/lib/x86_64-linux-gnu/libc.so.6] Trace/breakpoint trap I rebuilt the .node binaries, which appeared to solve the problem: npm rebuild Installed segfault handler: npm install segfault-handler Installed tailwind typography plugin: npm install -D @tailwindcss/typography uninstalled pug: npm uninstall pug On deployment system ==================== deployed on digital ocean droplet with nodejs distro (ubuntu 20), minimum 2GB ram used to prevent installation from being killed installed libkrb5-dev, libssl-dev, krb5-config, libpcre3-dev and build-essential in order for nodegit to install installed python2.7 for segfault-handler to install: apt install python2.7 ln -s /usr/bin/python2.7 /usr/bin/python then sqlite3 wouldn't install; I removed package-lock.json and the entire installation worked; perhaps all that was needed? pm2 command for running: pm2 start npm --name "gitcub" -- start