Skip to main content

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!');
  res.end();
}).listen(8080);

$ 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.

Comments

Popular posts from this blog

Mental health matters

It is 547am and I have decided to write. I have been living with a mental health diagnosis for more than 23 years. I am differently abled. Mental illness sometimes presents itself as a non-visible disability. A person with mental illness may look and function normally. Added to that we do not get to see the struggles happening internally. After 23 years I could say that I have much experience with my condition and may be able to offer words that may help others. There is plenty of stigma associated with mental illness. People think that the mentally ill are bad people, weak, or somehow less deserving of dignity and the treatment of the illness sometimes feels like punishment and is dehumanizing at times. There is plenty of good intentions and well meaning as well (do not get me wrong) but things could be better. And it happens at the highest level. A leader once said, "Whom the gods would destroy, they first make mad." As the saying goes, who knows it feels it. I started a pr...

Motivation

It is 150pm and I have decided to write. I have no topic to start but I feel like writing. While trying to decide what to write I saw this question that had my interest, what motivates you to keep going even when life is difficult? The first thing that popped in my mind was God. But I do not think the answer is simple or singular. I also think I need to put some thought into this. Also what is the relationship between motivation and discipline? Motivation is easy but discipline is hard. I think for me motivation comes from the joy of success. But God was my first answer. Now that God is the focus of my life, the joy of success becomes being a success in the eyes of God. But I said the answer was not singular. So different things motivate us at different times but they all lead to wanting to succeed. This reminds me of the Muslim call to prayer that says come to success. If motivation is what calls you then success calls you and success gives you joy. My friend Chatty says that what I h...

Installing NodeBB using Termux

This is the ChatGPT prompt I used to be guided Guide me through installing NodeBB using Termux (This took some time and patience to troubleshoot errors and implement workaround) pkg update && pkg upgrade -y pkg install proot-distro git curl wget nano -y proot-distro install debian proot-distro login debian apt update && apt upgrade -y apt install -y curl git build-essential ca-certificates gnupg apt update apt install -y imagemagick apt install -y redis-server redis-server --daemonize yes redis-cli ping mkdir -p /opt git clone https://github.com/NodeBB/NodeBB.git /opt/nodebb cd /opt/nodebb ./nodebb setup warn: NodeBB Setup Aborted.  Error: Could not load the "sharp" module using the android-arm64 runtime Possible solutions: - Manually install libvips >= 8.18.3 Force node to report platform as linux to get sharp to install curl -LO https://nodejs.org/dist/v22.23.1/node-v22.23.1-linux-arm64.tar.xz tar -xJf node-v22.23.1-linux-arm64.tar.xz mv node-v22.23.1-lin...