I'm working on an offline network and want to install angular-cli using npm.
I have a zip file of angular-cli and using the latest node and npm version.
I'm using the command: npm install ./angular-cli-master to install angular-cli from the folder.
But I keep getting this error telling me I don't have an internet connection (which is ok).
So how can I install this angular-cli while offline using the zip I downloaded from Github?
Thanks for your help.
9 Answers 9
You simply copy the package and all dependencies in your node_modules folder, inside the project for local installation, or in the global folder (npm config get prefix to see where it is located) for a global installation.
The behavior of npm install is to check for the dependencies, and install them first. When it doesn't find them installed, nor the local file containing them, it tries to download them.
Since all of those steps fail (you don't have the dependency installed, it isn't available on the expected location, and it can't download it), the installation fails.
You can find the dependency list in the package.json of each module, but since it is recursive, it can take a long time to have everything set right if you do it manually, npm does it by recursion.
For you, the easiest way would be to create a new folder on the connected PC, and inside it npm install angular-cli, zip the folder and transfer it on the offline machine.
Late edit: If you need to industrialize this process, what you could also do is set up something like verdaccio (private npm server), download all dependencies so verdaccio populate its cache, and copy the cache to the airgapped server and run verdaccio there before installing.
One of the main pro of this method is that you will be able to reinstall as much as you want (as long as the cache is populated with the package), and packages that need native compilation will be able to be installed correctly too
2 Comments
npm root -g to get the global node_modules pathJan 2016 - check out Addy Osmani's recommendations for offline installation of npm packages
May 2017 - as of npm 5, you can pass the --prefer-offline flag to npm install
yarn does this out of the box.
Comments
In 2019, I found none recommended approaches were applicable to an "air gapped" server with no internet access.
I found the only solution was to, on windows, using artillery.io as an example:
- install the package on a machine with internet access, e.g local dev machine.
npm install -g artillery - Browse to
C:\Users\{username}\npm - zip up the
\node_modules\artillery(e.g artillery.7z) - Copy the zip and the files
artillery,artillery.cmd(at root of npm folder) to the server - Paste the two
artillery,artillery.cmdto the root of the servers npm folder (C:\Users\{serverusername}\npm) - Extract the zip to
C:\Users\{serverusername}\npm\node_modules
This is the complicated version for just one tool. If your local machine's npm folder is relatively light on tools, you could always just zip the whole npm folder and copy + extract it on the server.
I still think it's odd that npm insists on trying to connect to the registry even when using npm pack and npm install -g <tarfile>
2 Comments
Problem: I'd been in similar situation where I can't install the express.js and all other dependencies specifies by package.json on my local machine (offline) using npm due to unavailability of internet connectivity.
Solution: I've a solution that works on Windows(not so sure of other platforms) through which I installed express framework with all the dependencies I required for my project which include cookie-parser, jade, morgan etc.
Steps :
Install all the package(s) on a remote machine which has an internet access.
In my case I'm using Windows on both remote as well as local machines and my requirement was of installation ofexpress.json local machine . So I run below command on my remote machine to installexpress.jsC:\Users>npm install -g express-generator`After installation of
express.jsI created an app on my remote machine using:C:\Users\Name\Desktop>express Project` C:\Users\Name\Desktop\Project>npm install -g =>to install all other dependencies globally*Now browse to location where
npm's global modules are stored, you can view the location byC:\Users>npm config get prefixGenerally in Windows its
C:\Users\{Username}\AppData\Roaming\Simply copy the
npmandnpm-cachefolder of your remote machine.And place both copied folders viz.
npmandnpm-cacheinto your local machine on same location thatsC:\Users\{Username}\AppData\Roaming\
1 Comment
the short answer, you can't. Most NPM packages such as @angular/cli need other dependencies and those need child dependencies which get installed when you run npm install
You can, however, install the cli when on the network and use it when offline.
2 Comments
ng new PROJ NAME you'll need internet because that project itself needs to install dependencies. You should be fine if only using ng build, generate and others.You can find the npm install command documentation here: https://docs.npmjs.com/cli/install
I am not quite sure and unfortunately, I do not have the chance to test it myself right now, but I would try to either unzip the folder and remove the dot, like that:
npm install /angular-cli-master
(= installing a folder not a zip file)
or just add the zip file ending like that:
npm install ./angular-cli-master.tgz
(= installing a zip-file not a folder, file ending may be .zip or something else, though)
Comments
Was test success with node 18.x.x.
The following step guild how to install http-server package
- On Online PC: npm install -g http-server After finish install, copy http server folder. (Usually locate at: C:\Users[UserName]\AppData\Roaming\npm\node_modules)
- On offline PC:
- Paste http-server folder. e.g. D:\http-server
- npm install -g D:\http-server
Comments
There is a package called onmi in npm This is what is written in its description
Offline Node Module installer - cli tool for installing Node modules and their dependencies from any project or pre-installed local modules, without an internet connection
Comments
Online computer:
npm install -g offline-npm
copy the npm-module to the offline computer and thats it !
Comments
Explore related questions
See similar questions with these tags.
node_modulesshould be enought, unless you install globally. Another way that may be simpler is to runnpm install angular-clion a connected system, and copy the content ofnode_modulesto the offline computer.