easyIDE / Blog / Node.js and npm on Android without root: a real development setup

Node.js and npm on Android without root: a real development setup

You can run the current Node.js LTS, npm and global CLIs on an Android tablet without rooting it. easyIDE puts them in an Ubuntu userland, next to an editor with TypeScript support.

Install

Pick Ubuntu + Node.js when easyIDE sets up Linux (download). It installs Node.js LTS from nodejs.org, verified against its checksums, rather than Ubuntu's older packaged version. In an existing environment, run easyide-install-node in a terminal.

node --version
npm --version

Start a project

mkdir hello-api && cd hello-api
npm init -y
npm install express
// index.js
const express = require("express");
const app = express();
app.get("/", (req, res) => res.json({ ok: true }));
app.listen(3000, () => console.log("http://127.0.0.1:3000"));

Run node index.js and open http://127.0.0.1:3000 in the tablet's browser. Vite, Next.js and other dev servers work the same way.

TypeScript intelligence

Enable the TypeScript language pack in Extensions. It installs its language server into the environment, and .ts/.js files get completion, diagnostics, rename, go-to-definition and formatting.

Global CLIs

npm install -g works, so tools like Claude Code, pnpm or typescript install as on a laptop.

Why the npm cache does not break

npm's cache relies on hard links and renames that Android's app storage handles differently. easyIDE configures the guest so the cache stays consistent under PRoot; earlier builds could corrupt it, which beta.7 fixed.

Keep servers alive

Allow easyIDE to run in the background during setup. A foreground service then holds the sandbox open, so a dev server keeps running while you switch to the browser.

Try easyIDE

Free and open source. Android 8.0+, no root.