2017-03-28 419 views
6

我正在离线网络工作,并希望使用npm安装angular-cli。 我有一个角度cli的zip文件,并使用最新的节点和npm版本。 使用命令:npm install ./angular-cli-master从文件夹安装angular-cli。 但我不断收到这个错误告诉我,我没有互联网连接(这是好的)。 那么如何在使用从github下载的zip的情况下安装此角度cli?如何在离线时安装npm软件包?

感谢您的帮助

+0

你确定你的压缩文件中还包含angular-cli的每个依赖吗? – DrakaSAN

+0

林不知道,但现在我看到它试图访问https://registry.npmjs.org/webpack-merge。所以我想我必须使用这个文件才能使用npm命令。你有任何线索吗? – Dorni

+0

如果你看[angular-cli的package.json](https://github.com/angular/angular-cli/blob/master/package.json#L100),你可以看到webpack合并是一个依赖关系,你需要在安装angular-cli之前安装所有依赖项。因为它没有安装,npm试图从互联网上获取它,并且失败 – DrakaSAN

回答

6

只需将包和所有依赖项复制到您的node_modules文件夹,本地安装项目中或全局文件夹中(npm config get prefix查看它所在的位置)以进行全局安装。

npm install的行为是检查依赖关系,并首先安装它们。当它没有找到他们安装,也没有包含它们的本地文件,它会尝试下载它们。

由于所有这些步骤都失败(您没有安装依赖项,它在预期位置不可用,并且无法下载),安装将失败。

您可以在每个模块的package.json中找到相关性列表,但由于它是递归的,因此如果手动完成所有设置,则需要很长时间,npm通过递归完成。

对你来说,最简单的方法是在连接的PC上创建一个新文件夹,在里面npm install angular-cli,压缩该文件夹并将其传输到脱机机器上。

0

你可以找到故宫install命令的文档在这里:https://docs.npmjs.com/cli/install

我不太清楚,不幸的是,我没有马上来测试它自己的机会,但我将尝试解压缩文件夹并删除点,如下所示: npm install/angular-cli-master (=安装文件夹不是zip文件) 或者只是添加结尾的zip文件: npm install。 /angular-cli-master.tgz
(=安装一个zi但是,文件结尾可能是.zip或其他内容)

2

简短的回答,你不能。大多数NPM包,如@angular/cli需要其他的依赖和那些需要得到其安装孩子的依赖性,当您运行npm install

你可以,但是,在网络上,当安装CLI和在离线状态下使用。

+0

我认为那是病态。但不会丢失位于%appdata%(在线PC)中的文件,我也必须移动这些文件? – Dorni

+1

我不认为你需要什么,一旦cli安装,它应该工作得很好,不需要连接到互联网。但是,如果您打算使用新的PROJ NAME创建新项目,则需要互联网,因为该项目本身需要安装依赖项。你应该没问题,如果只使用ng build,generate等等。 –