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.