My experience with Termux and NodeJS on Android

The first thing I did was install Termux from the play store. Termux provides terminal emulation and a linux environment. Read that I should install updates

$ apt update && apt upgrade

Next I installed nodejs

$ apt install nodejs

Next I needed an editor to create my code files. I decided for an external editor and shared external storage. By default Termux uses app private storage. Shared external storage needs to be setup as follows

$ termux-setup-storage

This creates a $HOME/shared folder in Termux that links to Internal storage in Android file manager. I created a folder called WEB/nodeapp for my project in there. Next I needed a code editor app. For that I chose Quick Edit.

Next was to create my starter node project

$ npm init

I got the following warning message, "npm WARN npm npm does not support Node.js v13.0.0". I fixed this by upgrading npm.

$ npm install -g npm

Next was to create my server.js code and test it.

var http = require('http');

http.createServer(function (req, res) {
  res.write('Hello World!');

$ npm install
$ npm start

I got an error, "npm ERR! nodeapp@1.0.0 start: `node server.js` npm ERR! Exit status 1". The error message also listed a log file to check for details but I ran the code directly to see the error.

$ node server.js

I got the following error, "Error: listen EADDRINUSE: address already in use :::8080". I change the port to 3000 and that fixed it.

NodeJS on Android

This is some exciting stuff to me. Didn't think that so much coding could be done on Android before I switched to a mobile workflow for my blogging. There is an app that can be used to specifically run nodejs code called Dory - node.js that I will look at in future blog post. I like termux because I can setup other coding languages like C++ and Ruby. Share your experiences with us in the comments below.


Popular posts from this blog

Upcoming 2020 General Elections in Trinidad and Tobago

Our Silicon Valley in Trinidad and Tobago

Being a Manchester City fan