我正在脱机网络上工作,希望使用npm安装angular-cli。我有一个angular-cli的zip文件,使用的是最新的节点和npm版本。我正在使用以下命令:npm install ./angular-cli-master从文件夹安装angular-cli。但是我一直收到这个错误消息,告诉我我没有互联网连接(这是可以的)。那么我如何在脱机时使用从Github下载的zip文件安装这个angular-cli呢?谢谢你的帮助。
npm install ./angular-cli-master
gg58donl1#
您只需将软件包和所有依赖项复制到node_modules文件夹中,对于本地安装,复制到项目中,对于全局安装,复制到全局文件夹(npm config get prefix可查看其位置)中。npm install的行为是检查依赖项,并首先安装它们。当它没有发现它们已安装,也没有找到包含它们的本地文件时,它会尝试下载它们。由于所有这些步骤都失败(您没有安装依赖项,它在预期位置不可用,并且无法下载),因此安装失败。你可以在每个模块的package.json中找到依赖列表,但是由于它是递归的,如果你手动设置的话,可能需要很长的时间才能把所有的东西都设置好,npm通过递归来完成。对您来说,最简单的方法是在连接的PC上创建一个新文件夹,然后在其中npm install angular-cli,压缩该文件夹并将其传输到脱机机器上。
node_modules
npm config get prefix
npm install
package.json
npm install angular-cli
b1uwtaje2#
2016年1月-查看Addy Osmani对offline installation of npm packages的建议2017年5月-as of npm 5,您可以将--prefer-offline标志传递给npm install
--prefer-offline
yarn开箱即用。
yarn
krcsximq3#
在2019年,我发现没有推荐的方法适用于没有互联网接入的“空气间隙”服务器。我发现唯一的解决方案是,在Windows上,以artillery.io为例:1.安装软件包在一个机器上与互联网访问,例如. local dev machine. npm install -g artillery1.浏览到C:\Users\{username}\npm1.拉上\node_modules\artillery的拉链(例如,炮兵.7z)1.将zip和文件artillery、artillery.cmd(位于npm文件夹的根目录)复制到服务器1.将两个artillery、artillery.cmd粘贴到服务器的根npm文件夹(C:\Users\{serverusername}\npm)1.将zip解压缩到C:\Users\{serverusername}\npm\node_modules这是一个复杂的版本,如果你的本地机器的npm文件夹的工具相对较少,你可以直接压缩整个npm文件夹,然后复制+解压到服务器上。我仍然认为,即使在使用npm pack和npm install -g <tarfile>时,npm仍然坚持尝试连接到注册表,这很奇怪
npm install -g artillery
C:\Users\{username}\npm
\node_modules\artillery
artillery
artillery.cmd
C:\Users\{serverusername}\npm
C:\Users\{serverusername}\npm\node_modules
npm
npm pack
npm install -g <tarfile>
ar7v8xwq4#
问题:我曾经遇到过类似的情况,由于互联网连接不可用,我无法使用npm在我的本地计算机(脱机)上安装express.js和package.json指定的所有其他依赖项。解决方案:我有一个适用于 Windows(不太确定是否适用于其他平台)的解决方案,通过该解决方案,我安装了express框架,其中包含项目所需的所有依赖项,包括cookie-parser、jade、morgan等。
express.js
express
cookie-parser
jade
morgan
操作步骤:1.在可以访问Internet的远程计算机上安装所有软件包。在我的例子中,我在远程和本地机器上都使用 Windows,我的要求是在本地机器上安装express.js。
C:\Users>npm install -g express-generator`
1.安装express.js后,我在远程计算机上创建了一个应用程序,使用:
C:\Users\Name\Desktop>express Project` C:\Users\Name\Desktop\Project>npm install -g =>to install all other dependencies globally*
1.现在浏览到存储npm的全局模块的位置,您可以通过
C:\Users>npm config get prefix
一般在 Windows 其
C:\Users\{Username}\AppData\Roaming\
1.只需将npm和npm-cache文件夹复制到远程计算机。1.并将两个复制的文件夹(即npm和npm-cache)放置到本地计算机中
npm-cache
0qx6xfy65#
大多数NPM包,比如@angular/cli,需要其他依赖项,而那些需要子依赖项的包在运行npm install时安装但是,您可以在网络上安装cli,并在脱机时使用它。
@angular/cli
rnmwe5a26#
您可以在以下位置找到npm install命令文档:https://docs.npmjs.com/cli/install我不是很确定,不幸的是,我没有机会测试它自己现在,但我会尝试要么解压文件夹,并删除点,像这样:npm install /angular-cli-master(=安装一个文件夹而不是zip文件)或仅添加以如下方式结尾的zip文件:npm安装。/angular-cli-master.tgz(=安装zip文件而不是文件夹,文件结尾可能是.zip或其他内容)
c2e8gylq7#
节点18.x.x的测试是否成功。以下步骤指导如何安装http-server包
r7xajy2e8#
联机计算机:
npm install -g offline-npm
复制的npm模块到离线的计算机,这就是它!
8条答案
按热度按时间gg58donl1#
您只需将软件包和所有依赖项复制到
node_modules
文件夹中,对于本地安装,复制到项目中,对于全局安装,复制到全局文件夹(npm config get prefix
可查看其位置)中。npm install
的行为是检查依赖项,并首先安装它们。当它没有发现它们已安装,也没有找到包含它们的本地文件时,它会尝试下载它们。由于所有这些步骤都失败(您没有安装依赖项,它在预期位置不可用,并且无法下载),因此安装失败。
你可以在每个模块的
package.json
中找到依赖列表,但是由于它是递归的,如果你手动设置的话,可能需要很长的时间才能把所有的东西都设置好,npm通过递归来完成。对您来说,最简单的方法是在连接的PC上创建一个新文件夹,然后在其中
npm install angular-cli
,压缩该文件夹并将其传输到脱机机器上。b1uwtaje2#
2016年1月-查看Addy Osmani对offline installation of npm packages的建议
2017年5月-as of npm 5,您可以将
--prefer-offline
标志传递给npm install
yarn
开箱即用。krcsximq3#
在2019年,我发现没有推荐的方法适用于没有互联网接入的“空气间隙”服务器。
我发现唯一的解决方案是,在Windows上,以artillery.io为例:
1.安装软件包在一个机器上与互联网访问,例如. local dev machine.
npm install -g artillery
1.浏览到
C:\Users\{username}\npm
1.拉上
\node_modules\artillery
的拉链(例如,炮兵.7z)1.将zip和文件
artillery
、artillery.cmd
(位于npm文件夹的根目录)复制到服务器1.将两个
artillery
、artillery.cmd
粘贴到服务器的根npm文件夹(C:\Users\{serverusername}\npm
)1.将zip解压缩到
C:\Users\{serverusername}\npm\node_modules
这是一个复杂的版本,如果你的本地机器的npm文件夹的工具相对较少,你可以直接压缩整个
npm
文件夹,然后复制+解压到服务器上。我仍然认为,即使在使用
npm pack
和npm install -g <tarfile>
时,npm仍然坚持尝试连接到注册表,这很奇怪ar7v8xwq4#
问题:我曾经遇到过类似的情况,由于互联网连接不可用,我无法使用npm在我的本地计算机(脱机)上安装
express.js
和package.json
指定的所有其他依赖项。解决方案:我有一个适用于 Windows(不太确定是否适用于其他平台)的解决方案,通过该解决方案,我安装了
express
框架,其中包含项目所需的所有依赖项,包括cookie-parser
、jade
、morgan
等。操作步骤:
1.在可以访问Internet的远程计算机上安装所有软件包。
在我的例子中,我在远程和本地机器上都使用 Windows,我的要求是在本地机器上安装
express.js
。1.安装
express.js
后,我在远程计算机上创建了一个应用程序,使用:1.现在浏览到存储
npm
的全局模块的位置,您可以通过一般在 Windows 其
1.只需将
npm
和npm-cache
文件夹复制到远程计算机。1.并将两个复制的文件夹(即
npm
和npm-cache
)放置到本地计算机中0qx6xfy65#
大多数NPM包,比如
@angular/cli
,需要其他依赖项,而那些需要子依赖项的包在运行npm install
时安装但是,您可以在网络上安装cli,并在脱机时使用它。
rnmwe5a26#
您可以在以下位置找到npm install命令文档:https://docs.npmjs.com/cli/install
我不是很确定,不幸的是,我没有机会测试它自己现在,但我会尝试要么解压文件夹,并删除点,像这样:npm install /angular-cli-master(=安装一个文件夹而不是zip文件)或仅添加以如下方式结尾的zip文件:npm安装。/angular-cli-master.tgz
(=安装zip文件而不是文件夹,文件结尾可能是.zip或其他内容)
c2e8gylq7#
节点18.x.x的测试是否成功。
以下步骤指导如何安装http-server包
r7xajy2e8#
联机计算机:
复制的npm模块到离线的计算机,这就是它!