Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to install NodeJS project locally without internet connection?

I have a project which I will have to deploy to client Windows systems where it will not be possible to connect to internet. I currently have a folder in D:\NODE which contains node.exe and npm.cmd and a node_modules folder. To be able to run node from command line I have added D:\NODE to PATH variable.

I can have most of the modules installed locally inside node_modules of my project. However there's one - node-windows - which needs to be installed globally to work.

Following suggestion below I went to node-windows (installed globally) and packaged it up (npm pack), which created a tarball. I have then copied that file with my project and tried to install it on the test machine globally like this: npm install -g node-windows-0.1.5.tgz

I can see that it got installed in the global directory. However when I try to run the command which uses this module it complains that it cannot find it: Error: Cannot find module 'node-windows'

When I list the modules (npm list -g) it is clearly there in the list...

What do you think? And thank you.

like image 530
Katya S Avatar asked Apr 23 '14 17:04

Katya S


People also ask

Can I install NPM packages offline?

Yes, but simply copying the content of node_modules should be enought, unless you install globally. Another way that may be simpler is to run npm install angular-cli on a connected system, and copy the content of node_modules to the offline computer.

CAN node be installed locally?

You can install a package locally if you want to depend on the package from your own module, using something like Node. js require . This is npm install 's default behavior.


2 Answers

You can install packages on a system without internet connection by packing them using built-in functionality in npm. This way, the node modules will be installed properly.

  1. Create a package.json.
  2. In your package.json, list all the modules you need under bundledDependencies (docs on npm).
  3. Run npm install to install your node files before packing.
  4. Create a tarball with npm pack.
  5. Copy the tarball over to the machine without internet connection.
  6. Install the modules with npm install <filename>.

Update

Regarding your comments, it looks like your globally installed node modules isn't found.

Try using the npm link command (docs on npm link):

  1. cd yourAppFolder
  2. npm link node-windows
like image 165
aludvigsen Avatar answered Sep 19 '22 14:09

aludvigsen


1 - In system with internet access install module with this command:

npm install [module name] 

2 - go to %userprofile%\AppData\Roaming\npm\node_modules[module name]\ (e.g C:\Users\janson\AppData\Roaming\npm\node_modules\grunt-cli)
3 - run npm pack
4 - this should result in a [module name]-x.y.z.tgz file
5 - run npm i -g [module name]-x.y.z.tgz in offline system

like image 45
ali khezri Avatar answered Sep 18 '22 14:09

ali khezri