16

If you only have the zip file to install angular-cli with - how can it be installed without an internet connection?

15
  • 1
    Do you have a ZIP file ? Commented Mar 16, 2017 at 18:02
  • I sure do, downloaded from github Commented Mar 16, 2017 at 18:02
  • And when you extract it, what files do you see ? Commented Mar 16, 2017 at 18:03
  • 1
    You'll probably first have to install it on a computer that DOES have internet because you'll need all it's dependencies which I would not expect to be in that zip file. Commented Mar 16, 2017 at 18:04
  • 1
    The first place I'd start would be (on a computer with internet) running npm install angular-cli@latest in a clean empty folder and then I'd zip up the resulting node_modules folder. You may still run into problems, but you'll have your dependencies. Commented Mar 16, 2017 at 18:07

3 Answers 3

13

With that ZIP only you will not be able to achieve that.

Because within the bin folder, the ng still needs some dependencies.

In order to do that:

Now you'll be able to run the CLI on an offline computer if you share that zip by doing:
- Unzip the CLI folder with the node_modules in it
- /path/to/the/folder/bin/ng new my-project

BUT. As this computer is offline, you'll only be able to scaffold a new project without installing it's required dependencies.

Now, if you want to build a project on that offline computer, you'll need something more:

On the online computer:
- install @angular/cli yarn global add @angular/cli (or use your zip)
- create a new empty project while online: ng new base-project
(wait for yarn install or npm install to finish)
- zip the node_modules folder, the one within the new project
(as node_modules_backup.zip for ex, and brace yourself... It's going to take a long time I guess)

On the offline computer
- Share the ZIP from the new project (with USB for ex) - Create your project: /path/to/the/folder/bin/ng new my-project --skip-install
- Unzip the node_modules_backup.zip into the newly created project

Now running /path/to/the/folder/bin/ng serve should work.

Sign up to request clarification or add additional context in comments.

5 Comments

Did you try this? Some repos (notably Angular ones) doesn't contain pre-built files in their repos. This means that there are no JS files in Github archive, only TS.
So what's the problem? Cli can compile TypeScript projects without any trouble. I don't follow. Try it and you'll see :)
Resulting zipped package won't be workable. cli can't compile itself. Try your own answer and you'll see.
I think one potential issue to note with this is if there may be differences in the platforms between the mentioned offline and online computer, since the node-sass package requires the download of a binary that is platform dependent. If there is a way to circumvent this problem, I am unaware. I know the binary can be kept locally and installed via the local file instead of public repo if given the correct command line argument.
I agree this is a good solution, we ended up making a private npm repo behind the corporate proxy.
6

----online machine-----

  1. Install node by using the executable files downloaded from the official node website.
  2. Install the @angular/cli globally on the on-line machine.
  3. Check the C:\Users\Admin\AppData\Roaming folder.
  4. Zip the npm and npm_cache folder.
  5. Transfer the above zip file and node executable to the offline machine.
  6. Create the new project in angular
  7. zip the node_module folder inside the created project and transfer it to the offline machine.

----Offline Machine------

  1. Install node from its executable
  2. Unzip the npm and npm_cache folder and move it to the C:\Users\Admin\AppData\Roaming folder.
  3. Run the following command to install the @angular/cli and its dependencies
npm i @angular/cli -g --cache MY_CACHE_FOLDER --cache-min 999999999 --no-shrinkwrap
  1. Now create the new angular project. It will show some errors but don't worry.
  2. Unzip and move the node_module folder inside the new project.
  3. Now, you can work/run on the project as usual.

1 Comment

Some clarifications in offline mc steps : In step 10 C:\Users\Admin which one C:\Users\Admininstrator OR C:\Users\<local account administartor id> In step 11 MY_CACHE_FOLDER which folder it is?
4
+100

This would be a good solution for your case.

npm i @angular/cli -g --cache MY_CACHE_FOLDER --cache-min 999999999 --no-shrinkwrap

You can find full article here.

1 Comment

which folder MY_CACHE_FOLDER refers to?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.