CloudLinux: shared node_modules store for Node.js Selector now in beta
CloudLinux brings the Shared node_modules Store into beta: a single copy per npm package version across the whole server, included with every licence.
UptimeMag editorial team · 28 September 2026 · 2 min read

CloudLinux announced on 28 September 2026, on its official blog, the arrival in beta of the Shared node_modules Store for Node.js Selector. The feature keeps a single copy of each npm package version on the server and shares it across all the applications that use it, instead of having each one download and store its own copy. For anyone managing many Node.js sites on the same server, this means less disk space used and fewer repeated downloads of the same packages.
For account administrators, nothing changes in day-to-day use: you still click Run NPM Install in the panel, or run npm install, and applications remain on their chosen Node.js version.
How it works
The Shared Store keeps package files in a shared cache owned by root. Applications access them via hardlinks: the same file on disk appears in the node_modules folder of every application that uses it. Accounts can read these files but cannot modify them. Installation is managed by the cl-bun package, while each application continues to run on the selected Node.js version. Packages that require a build step or additional setup are not shared: they remain private to each application.
Only full installs go through the Shared Store: Run NPM Install or npm install without a package name. Commands such as npm install <package>, npm update and npm ci are not covered and create a private copy for the application, which counts against the account's quota until the next full install.
There is a single package registry per server, the default public npm registry. Git dependencies, local paths, tarball URLs or private registries cause the installation to fail with an explicit error: to use these, the account must be excluded from the Shared Store.
The Store folder must sit on the same filesystem as the accounts' home directories, because hardlinks cannot cross filesystems. Be careful with recursive chown or chmod operations on a home directory or on node_modules: these modify the shared files, because a hardlink is the same file wherever it is used. The cl-node-modules-storage status command flags these cases.
Requirements and activation
Available on CloudLinux 7, 8, 9 and 10, x86_64 only, with Node.js Selector on cPanel, DirectAdmin or custom panels integrated via API. Requires LVE Manager 7.11.49-1 or later, with cl-bun 1.4.0-1. Included at every CloudLinux licence tier, at no extra cost.
The feature is disabled by default. To try it, from the beta repository:
yum install lvemanager cl-bun --enablerepo=cloudlinux-updates-testing
Then, as root:
cl-node-modules-storage enable
cl-node-modules-storage status
(if home directories are on a separate /home filesystem, add --storage-path /home/.cl-node-modules-storage to the enable command). The status should report feature_status: enabled. Existing applications switch to the Shared Store at their next full install, or can be converted with cloudlinux-selector migrate. Documentation and support details are provided on the official CloudLinux blog.
Written with the help of artificial intelligence and checked by the editors (EU AI Act, art. 50). Source: CloudLinux – sicurezza e rilasci.