Recommended Free Tools
iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
Antihost offers Linux VPS plans with full root access, unlimited traffic on a 1 Gbps port and a 14-day free trial.
To compile Node.js from source on Linux, check out the exact release tag you need, install that tag’s documented compiler, GNU Make, and Python prerequisites, then run ./configure followed by make -j4. Verify the result with make test-only and a local ./node command. npm is normally built from the deps/npm tree and bundled with the resulting Node.js distribution, so a separate npm compilation is not normally required.
The precise requirements change between Node.js release lines. Read the BUILDING.md belonging to the tag you intend to build before installing packages; the current 2026 guide is the reference for the versions and commands below.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →What you are building
A source build turns the Node.js repository into a native node executable and its accompanying files. The repository also contains npm under deps/npm, including npm’s source, tests, and package metadata. npm’s own README states that it is bundled with Node.js by default, so the normal Node.js build produces the bundled npm distribution rather than requiring a second, unrelated build.
Building from source is useful when you need a particular release commit, are developing Node.js itself, need a debug or AddressSanitizer binary, or are packaging a distribution with controlled build options. It is more work than installing a prebuilt package and leaves you responsible for selecting a supported toolchain, running tests, and deciding whether to install the result system-wide.
#1 Best Overall
- Powerful Turbo Fan:CAGIWIRU Electric Air Duster have reached speed up to 130000RPM,Can efficient remove dust and debris.With LED light and Three Adjustable Speed to meet with different cleaning tasks.
- With Attached USB C Fasting Charging cable.Charing 3 hours,Enjoy up to 240 minutes of use on the lowest setting, For third speed can use for 25mins.with four charging options to meet with your needs.
- Wide Application:Upgraded attached 5 different nozzles,making it suitable for a variety of scenes, such as car,pet, pc, keyboards, and other electronic devices. It also serves for office and home clean duster.
- Handy Design & Portable:Cordless air duster electric nozzle is Light weight and small size, design and comfortable to hold and space saving, convenient to carry around. You can put it in your room or inside the car without taking up space.
- Warranty & Support: Our Electric air duster comes with 5 years warranty and 24/7 customer service. During this period, if you have any questions,pls kindly feel free to contact us.
Choose and pin the source version first
Use the matching BUILDING.md
Node.js documents its supported operating systems, compilers, linkers, Python versions, and package commands in BUILDING.md. That file is a moving document: a compiler accepted by one release line may not be accepted by another. Always inspect the file at the release tag you will build, not only the version on the repository’s default branch.
- Clone the official repository:
git clone https://github.com/nodejs/node.git. - Enter the checkout:
cd node. - List available release tags with
git tag --list, or fetch tags if your clone did not include them. - Check out the required tag, for example
git checkout vXX.YY.ZZ, replacing the example with a real Node.js release tag. - Read that checkout’s
BUILDING.mdand follow its platform-specific prerequisites.
The placeholder tag above is intentional: select the release you actually need. Pinning a tag or commit makes later rebuilds reproducible; merely installing the newest compiler packages does not pin the Node.js version.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Check the Linux platform and resources
The current official guide gives GNU/Linux x64 and arm64 Tier 1 examples using kernel version 5.14 or newer and glibc 2.34 or newer. Other architectures or older userlands may require a different release, a distribution patch, or an unsupported-toolchain workaround.
For a four-way parallel build, the Node.js project says that at least 8 GB of RAM is typically required. Disk usage varies with the checkout and build artifacts, so leave several gigabytes free for the source tree, intermediate objects, test data, and optional debug symbols. A path containing a space can cause the build to fail; place the checkout in a path such as ~/src/node, not ~/My Projects/node.
Install the build prerequisites
The current guide requires a supported C/C++ compiler, GNU Make, and Python. For the current Linux instructions, use GCC/G++ 13.2 or newer, or Clang/Clang++ 19.1 or newer, together with GNU Make 3.81 or newer. Python is used by the build and test tooling; pip is needed for coverage-related work. Verify the exact supported Python range in the BUILDING.md for your selected tag.
Ubuntu or Debian
sudo apt-get install python3 g++-13 gcc-13 make python3-pip
This installs the example GCC 13 toolchain named by the current guide. If your release tag requires a different compiler package, use the tag’s instructions rather than copying this command unchanged.
Fedora
sudo dnf install python3 gcc-c++ make python3-pip
CentOS or RHEL
sudo yum install python3 gcc-c++ make python3-pip
openSUSE
sudo zypper install python3 gcc-c++ make python3-pip
Arch or Manjaro
sudo pacman -S python gcc make python-pip
Nix or NixOS
nix-shell
After installing, confirm that the tools found on your PATH are the ones you intend to use:
Rank #2
- Screen Cleaner is Your Screen’s New Bestfriend! - EVEO is proud to present a screen cleaner that’s perfectly suited for your TV. Meet your new screen cleaner, computer screen cleaner, laptop cleaner, iPad cleaner, Macbook,tv cleaner or any other electronic device. Our screen cleaner spray and wipe along with the included plush microfiber cloth, easily removes dust, fingerprints & other smudges on the screen’s surface. Clean effectively for a streak-free screen
- Gentle on your Screens - Our screen cleaner spray and wipes is compatible to be used even for the most sensitive LCD, LED, CRT, and OLED screens in proper use. Be at ease knowing that this product is compatible with all the major brands: LG, SONY, Samsung, Sharp, iPad, iPhone, Android screens, Kindle, PC monitors - we’ve got you covered! Can be used as LCD screen cleaner, tv cleaner, smart tv screen cleaner, and more
- Premium Super Soft Plush Microfiber Cloth - Included in this efficient screen cleaning kit. This screen cleaner spray and wipe has our signature plush microfiber cloth specially designed to comply with screens and monitors and leave them streak-free. Has been shown to effectively absorbs stubborn stains, zero streaks, and no fiber shedding. Always use this together with our screen cleaner for the best results
- Easy-to-Use Screen Cleaner Kit + microfiber cleaning cloth - The EVEO Screen Cleaning Kit will easily be your new favorite tool when it comes to taking care of the things you love most, quick and easy solution for a streak-free screen. Simply screw on the sprayer gun on the screen cleaner bottle. Spray the cleaning liquid onto the microfiber cloth, then wipe the screen until desired cleanliness & shine is achieved.
- Quality Screen Care Kit Worth Purchasing - Enjoy a convenient Screen Cleaner anytime, anywhere you need it. Your satisfaction is our top priority. We stand behind the quality of our products and that’s why, you shouldn’t be worrying at all. We manufacture the Best Screen Cleaner. and can be used for laptop cleaning kit, laptop screen cleaner, tv screen cleaner for smart tv. MacBook screen cleaner, monitor cleaner or screen cleaner spray for electronic devices with microfiber cleaning cloth
gcc --version
g++ --version
make --version
python3 --version
If the versions are too old, install a newer toolchain or select another release tag. Do not assume that a successful ./configure means an unsupported compiler is safe for production.
Run the standard release build
Configure the checkout
From the top-level Node.js directory, run:
./configure
With no extra options, Node.js configures its normal release-style build and bundles its dependencies into the binary. Keep the build directory free of spaces. If configuration stops with a missing compiler, Python module, or system library, install the missing prerequisite named in the error and rerun the command.
Compile with an appropriate job count
make -j4
-j4 permits four concurrent jobs. Four jobs are the example used by the official guide and typically need at least 8 GB of RAM. On a smaller machine, reduce the count, for example make -j2 or simply make. On a larger machine, increase it only when CPU cores, memory, and cooling can sustain the load. Excessive parallelism commonly causes the kernel’s out-of-memory killer to terminate a compiler process, leaving a misleadingly incomplete build.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errorsA successful build produces a local executable at ./node. The build tree also contains generated files and, for special configurations, binaries below out.
Verify the executable and npm
Run the focused verification target
The official verification target is:
make test-only
This runs the build’s focused test verification without repeating the complete codebase test target. Treat a failing test as a build problem to investigate, not as proof that the compiler output is usable.
Run the full test target when appropriate
make -j4 test
The full target checks the codebase, including documentation tests. It takes longer and consumes additional CPU, memory, and disk, so run it for a release, packaging, or contribution build rather than skipping it merely because make test-only passed.
Perform a direct smoke test
./node -e "console.log('Hello from Node.js ' + process.version)"
The command should print a greeting followed by the version represented by the source checkout. Calling ./node explicitly tests the newly built executable instead of a different Node.js installation already present on your system.
Rank #3
- 【Large size】:Measuring 800 x 300 mm/ 31. 5×12 inches, which is wider and taller than others. Large mouse pad can perfectly fit your keyboard and mouse of any size, and there is also ample space for peripherals such as phones, tablets, etc.
- 【LED backlight mouse pad】:Blade Hawks RGB mouse pad provides 7 static modes and 7 dynamic modes will give you the options you are looking for. Power-off memory function remembers the last lighting mode you selected. The super glow fiber Chroma will give you a colorful gaming setup that you want.
- 【Anti-slip rubber base】:Made from Natural rubber, this gaming mousepad will firmly grip your desktop, allowing you to enjoy the ultimate precision in the games you are most passionate about. It also comes with a texture that enhances this ability even further.
- 【Smooth and waterproof surface】: Micro-textured cloth surface, for extremely precise mouse control and a smooth movement. When liquid splashes on the gaming mouse pad, it forms water droplets and slides down. Will not delay your work or gameplay.
- 【Plug and play】: This mouse and keyboard pad is powered by USB, plug and play, no driver required. One button control light modes. Press one time to change the lighting mode, press twice to change the brightness, press and hold about 3 seconds turn ON/OFF.
Confirm the bundled npm
Because npm is maintained in deps/npm and bundled by default, inspect the npm executable through the locally built runtime:
./node -p "process.version"
./node -p "process.execPath"
./node -p "require('./deps/npm/package.json').version"
The last command reads the npm package metadata in the source tree. Depending on the release’s layout and build scripts, the installed npm launcher may be generated during installation; the important distinction is that npm’s source is part of the Node.js checkout and is included by the normal build.
Install the compiled runtime
You can use ./node directly from the build directory without changing the system. This is the safest option while testing a new build because it cannot silently replace the distribution’s existing Node.js.
For a system installation, run:
sudo make install
The destination prefix and installed file layout are determined by the configuration for your checkout. Before using this command on a workstation or server, inspect the tag’s installation guidance and confirm which existing files the prefix contains. A system install can affect scripts that resolve node or npm through PATH.
A user-local prefix avoids modifying system directories. Configure the build with a prefix appropriate to your account, then compile and install:
./configure --prefix="$HOME/.local"
make -j4
make install
Ensure $HOME/.local/bin precedes other Node.js locations in PATH when you want shells and scripts to select this installation. The exact prefix option is a build choice; it does not change which Node.js release was checked out.
Useful build configurations
Release and debug binaries
To create both release and debug binaries, configure with:
Rank #4
- 【Softer and More Comfortable】Vaydeer wrist rest has unique diamond pattern, which is the combination of softness and aesthetics. The materials of wrist rest are improved into higher quality memory foam and covered with silky smooth lycra. The computer wrist rest makes you as comfortable and cushiony as like rest your wrists on clouds.
- 【Ergonomic Wrist Saver】The wrist rests for keyboard and mouse comes with a 17.32×3.15×0.83 inch keyboard wrist pad and a 5.94×3.15×0.83 inch mouse wrist support. Based on ergonomic design, the unique concave shape is the perfect fit for your wrist joints. The wrist rest pad fits most computer keyboards and laptops, improve hand and wrist posture, release your wrist and arm stress.
- 【Non-Slip Rubber Bottom】Featuring an anti-skid silicone base on the bottom, this wrist keyboard support stays firmly in place on your desk, preventing the padding from sliding around, ensuring stable and consistent wrist support during extended computer sessions.
- 【Better Experience & Pain Relief】Our keyboard arm rest is beneficial to alleviate the soreness caused by direct contact and friction between your arm and a hard desk surface, reducing the risk of wrist fatigue or carpal tunnel. The soft texture of memory foam can evenly distribute the pressure around your wrists and provide good support with just enough give.
- 【Helpful in Multiple Scenarios】Whether you're working, studying, writing, typing, gaming, this keyboard and mouse rest combo is an essential accessory to add comfort and support to your hands and wrists. It’s also a great gift for men, women, family, friend, coworker, gamer, teacher, etc.
./configure --debug
make -j4
The debug executable is out/Debug/node. Keep using ./node when you want the normal release-style binary and call out/Debug/node explicitly when diagnosing assertions, stack traces, or internal behavior.
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteAddressSanitizer
For a Linux AddressSanitizer build, use:
./configure --debug --enable-asan
make -j4
make test-only
Sanitizer builds have higher CPU and memory overhead and can expose failures that do not appear in a normal release build. Use them for debugging memory errors; do not treat their performance or memory profile as representative of a production binary.
Repeated builds with ccache
If you rebuild the same checkout frequently, the official guide documents ccache as an optional accelerator. It can reuse unchanged compiler outputs, reducing iteration time, but it does not replace a clean build when validating toolchain changes. Clear or invalidate the cache when compiler versions or significant configuration options change.
Optional mold linker
The guide also documents optional use of the mold linker. A faster linker can shorten link steps, but it is an additional toolchain choice. Use it only when the selected Node.js tag and your distribution support the setup, then run the complete relevant test suite.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Bundled versus shared dependencies
Node.js normally bundles its dependencies into the binary. Configure options can request shared native libraries or shared JavaScript builtins, which may be attractive to a Linux distributor trying to integrate with system libraries.
Shared builds carry obligations that the default build avoids:
- Runtime library versions must remain compatible with what the Node.js binary expects.
- The target system must provide every shared component at runtime, not just at link time.
- Upstream CI may have little coverage for non-default combinations.
- You must test the exact shared-library arrangement on every supported deployment environment.
Unless you are packaging Node.js for a controlled distribution, the bundled configuration is the lower-risk choice. A shared-library build is a distribution decision, not a shortcut to a smaller command sequence.
Best Value
- 【No Drill Mounted】Cable management tray can be assembled in as little as 3 minutes or less-simply. Side clips easily clampe the edge of desk, pass through the holes on the sides, and secure excess cables with baskets. Desk cable management supports inward or outward installation to meet your needs in different scenarios, and provides you with great convenience when collecting and organizing wires.
- 【Rubber Pad Protects Desk】Wire organizer under desk built-in soft rubber pads on the clamp protect your desk from scratches, so you will not damage your furniture or office.
- 【Sturdy and Beautiful】Cord management under desk is made of high-quality carbon steel and holds about 15 lbs. The wire basket has 2 holes on each side of the tray to enable your cables to pass freely. Cable baskets are suitable for desk thickness use from 0.4" to 2.4".
- 【Space Saving & Keep Organized】Desk cable management tray holds all your power cords, outlet strips, USB hubs and computer transformers hidden from your feet, and the data cables will not enter the vacuum cleaner to keep your desk clean and tidy. Desk wire organizer is also suitable for use in the kitchen and outdoors.
- 【Reduce Safety Risks】Cable tray under desk keeps all plugs away from your kids, no more worry about tripping. Using 2 holes wire tray saves extra space, helps you easily cabling and wire protection. The mesh design is not easy to accumulate dust, but avoids safety accidents caused by messy wires.
Comparison of practical source-build choices
| Decision | Option A | Option B | When to choose |
|---|---|---|---|
| Source reference | Release tag or commit | Default branch | Use a tag or commit for reproducibility; use the branch for active Node.js development. |
| Dependencies | Bundled defaults | Shared native libraries or builtins | Choose bundled dependencies unless you control the runtime and can test compatibility. |
| Binary type | Normal release build | Debug or AddressSanitizer build | Use release for ordinary execution; use debug or ASan to investigate internals and memory faults. |
| Parallelism | make -j2 or lower |
make -j4 or higher |
Match jobs to available RAM and CPU; the current guide cites at least 8 GB for four jobs. |
| Installation | Run from ./node |
Install to a system or user prefix | Run in place while testing; install only after verification and PATH planning. |
Diagnose common failures
Configuration rejects the compiler
Check gcc --version, g++ --version, or the corresponding Clang commands. The current guide’s Linux baseline is GCC/G++ 13.2 or newer, or Clang/Clang++ 19.1 or newer. If your distribution’s default compiler is older, install the supported toolchain for that release or build an older Node.js release whose guide supports your environment.
The build fails with a missing Python or pip component
Confirm that python3 runs and that the required pip package is installed. The distribution examples install python3-pip or python-pip because pip is needed for coverage work. Re-read the selected tag’s BUILDING.md for any additional Python requirement instead of assuming the current branch’s requirement applies.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Compilation is killed or the machine becomes unresponsive
Lower the job count and retry from the same checkout:
make -j2
If the machine is still memory constrained, use make for serial compilation. Close other memory-intensive applications and check available swap. Increasing -j improves throughput only when memory remains available for every compiler process.
Build errors mention the path
Move the checkout to a path without spaces or unusual shell characters, such as ~/src/node, then configure and build again. The Node.js guide specifically warns that spaces in the build path can make the build fail.
Tests fail after a configuration change
Record the exact configure options, compiler versions, kernel, and libc versions. Re-run make test-only after a clean rebuild. For a focused investigation, use tools/test.py <pattern> to select matching tests, or execute an individual test file with ./node <file>. Do not compare a debug or ASan failure directly with a release result without noting the configuration difference.
The shell runs another Node.js
Use absolute or relative paths while validating: ./node, out/Debug/node, and the intended npm path. After installation, inspect command -v node and command -v npm, then check node --version. A pre-existing system package, a user-local installation, and your new prefix can all coexist, with PATH determining which one a shell selects.
A reproducible end-to-end recipe
The following sequence is a concise release-build workflow. Substitute the tag and prerequisites required by that tag’s documentation:
- Install the supported compiler, GNU Make, Python, and any pip components required by the selected release.
- Clone the repository with
git clone https://github.com/nodejs/node.git. - Enter the checkout and select a release tag or commit.
- Confirm that the directory path contains no spaces.
- Read the checkout’s
BUILDING.mdand verify kernel, glibc, compiler, Make, and Python requirements. - Run
./configure. - Compile with a job count your RAM can sustain, such as
make -j4on a machine meeting the guide’s typical 8 GB requirement. - Run
make test-only. - For a release or package, run
make -j4 testas well. - Run
./node -e "console.log('Hello from Node.js ' + process.version)"and confirm it reports the intended version. - Use the build in place, or install it with a reviewed prefix using
make install(withsudoonly when the prefix requires administrative access).
What to document for a production build
Record the Node.js tag or commit, Linux distribution and architecture, kernel and glibc versions, compiler versions, GNU Make version, Python version, configure options, job count, test targets completed, and installation prefix. This information makes a later rebuild diagnosable and exposes differences when a shared-library or non-default toolchain build behaves differently.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
Free tools Windows power users keep installed
One-click scans. No signup required.

