我正在使用离线网络,并希望使用npm安装angular-cli。
我有一个angular-cli的zip文件,并使用最新的节点和npm版本。
我正在使用命令:npm install ./angular-cli-master
从文件夹安装angular-cli。
但我一直收到这个错误,告诉我我没有互联网连接(没关系)。
那么如何使用我从Github下载的zip来离线安装这个angular-cli?
感谢您的帮助。
答案 0 :(得分:18)
您只需复制本地安装项目内node_modules
文件夹中的软件包和所有依赖项,或者全局安装中的全局文件夹(npm config get prefix
中查看它的位置)。
npm install
的行为是检查依赖项,并先安装它们。如果它没有找到它们,也没有包含它们的本地文件,它会尝试下载它们。
由于所有这些步骤都失败了(您没有安装依赖项,因此无法在预期位置上使用,并且无法下载),安装失败。
你可以在每个模块的package.json
中找到依赖列表,但由于它是递归的,如果你手动完成所有设置,可能需要很长时间,npm通过递归来完成。< / p>
对于您来说,最简单的方法是在连接的PC上创建一个新文件夹,并在其中npm install angular-cli
,压缩文件夹并将其传输到离线机器上。
答案 1 :(得分:13)
截至2016年,有几种软件可供使用。
https://addyosmani.com/blog/using-npm-offline/
截至目前(2017年5月),随着Npm 5的到来 你可以使用旗帜:--prefer-offline
。
yarn
开箱即用。
答案 2 :(得分:2)
简短的回答,你不能。大多数NPM包(例如@angular/cli
)需要其他依赖项,而那些需要子依赖项,这些依赖项会在您运行npm install
但是,您可以在网络上安装cli,并在离线时使用它。
答案 3 :(得分:2)
问题:我遇到过类似的情况,无法在本地计算机上(离线)安装express.js
和package.json
指定的所有其他依赖项, npm 由于无法连接互联网。
解决方案:我有一个可以在 Windows 上运行的解决方案(不确定其他平台),通过它我安装了express
具有所有依赖项的框架我需要的项目包括cookie-parser
,jade
,morgan
等。
步骤:
将所有软件包安装在可访问Internet的远程计算机上。
就我而言,我在远程计算机和本地计算机上都使用了 Windows ,而我的要求是在本地计算机上安装express.js
。因此,我在远程计算机上运行以下命令以安装express.js
C:\Users>npm install -g express-generator`
安装express.js
后,我使用以下方法在远程计算机上创建了一个应用程序:
C:\Users\Name\Desktop>express Project`
C:\Users\Name\Desktop\Project>npm install -g =>to install all other dependencies globally*
现在浏览到npm
的全局模块的存储位置,您可以通过以下方式查看该位置
C:\Users>npm config get prefix
通常在 Windows 其
中C:\Users\{Username}\AppData\Roaming\
只需复制远程计算机的npm
和npm-cache
文件夹。
并放置两个复制的文件夹,即。 npm
和npm-cache
进入本地计算机的相同位置
C:\Users\{Username}\AppData\Roaming\
答案 4 :(得分:1)
在2019年,我发现没有推荐的方法适用于无法访问互联网的“气隙式”服务器。
我发现唯一的解决方案是在Windows上以artillery.io为例:
npm install -g artillery
C:\Users\{username}\npm
\node_modules\artillery
(例如artillery.7z)artillery
,artillery.cmd
(位于npm文件夹的根目录)复制到服务器artillery
,artillery.cmd
粘贴到服务器npm文件夹(C:\Users\{serverusername}\npm
)的根目录C:\Users\{serverusername}\npm\node_modules
这是仅一种工具的复杂版本。如果您本地计算机的npm文件夹使用的工具较少,则始终可以压缩整个npm
文件夹,然后将其复制并解压缩到服务器上。
我仍然认为npm即使在使用npm pack
和npm install -g <tarfile>
时也坚持尝试连接到注册表很奇怪
答案 5 :(得分:1)
在线计算机:
npm install -g offline-npm
将 npm-module 复制到离线电脑上就可以了!
答案 6 :(得分:0)
您可以在此处找到npm install命令文档:https://docs.npmjs.com/cli/install
我不太确定,不幸的是,我现在没有机会自己测试,但我会尝试解压缩文件夹并删除点,就像这样:
npm install / angular-cli-master
(=安装文件夹而不是zip文件)
或者只是添加如下结尾的zip文件:
npm install ./angular-cli-master.tgz
(=安装zip文件而不是文件夹,文件结尾可能是.zip或其他东西)