Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何在脱机时安装npm软件包?_Node.js_Npm_Visual Studio Code_Angular Cli - Fatal编程技术网

Node.js 如何在脱机时安装npm软件包?

Node.js 如何在脱机时安装npm软件包?,node.js,npm,visual-studio-code,angular-cli,Node.js,Npm,Visual Studio Code,Angular Cli,我正在脱机网络上工作,希望使用npm安装angular cli。 我有一个angular cli的zip文件,使用最新的节点和npm版本。 我正在使用以下命令:npm install./angular cli master从文件夹中安装angular cli。 但我不断收到这个错误,告诉我我没有互联网连接(这是正常的)。 那么,如何在脱机时使用从Github下载的zip安装这个angular cli呢 感谢您的帮助。您可以在此处找到npm安装命令文档: 我不太确定,不幸的是,我现在没有机会自己测

我正在脱机网络上工作,希望使用npm安装angular cli。 我有一个angular cli的zip文件,使用最新的节点和npm版本。 我正在使用以下命令:
npm install./angular cli master
从文件夹中安装angular cli。 但我不断收到这个错误,告诉我我没有互联网连接(这是正常的)。 那么,如何在脱机时使用从Github下载的zip安装这个angular cli呢


感谢您的帮助。

您可以在此处找到npm安装命令文档:

我不太确定,不幸的是,我现在没有机会自己测试它,但我会尝试解压文件夹并删除点,如下所示: npm安装/安装cli主机 (=安装文件夹而不是zip文件) 或者只需添加zip文件,结尾如下: npm安装。/angular cli master.tgz

(=安装zip文件不是文件夹,但文件结尾可能是.zip或其他内容)

您只需将包和所有依赖项复制到
节点模块
文件夹中,在项目内部进行本地安装,或复制到全局文件夹中(
npm config get prefix
查看其位置)进行全局安装

npm install的行为是检查依赖项,然后首先安装它们。当它找不到已安装的或包含它们的本地文件时,它会尝试下载它们

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

您可以在每个模块的
package.json
中找到依赖项列表,但由于它是递归的,因此如果您手动设置,npm可能需要很长时间才能将所有内容设置正确,npm通过递归来完成


对您来说,最简单的方法是在已连接的PC上创建一个新文件夹,在其中
npm install angular cli
,压缩文件夹并在脱机机器上传输。

简单的回答是,您不能。大多数NPM软件包,如
@angular/cli
需要其他依赖项,而那些需要在运行
NPM install


但是,您可以在网络上安装cli,并在脱机时使用它。

2016年1月-查看Addy Osmani的建议以了解更多信息

2017年5月-您可以将该标志传递给
npm安装


warn
做到了开箱即用。

2019年,我发现没有推荐的方法适用于没有互联网接入的“气隙”服务器

我发现唯一的解决方案是在windows上使用carols.io作为示例:

  • 将软件包安装在可访问internet的计算机上,例如本地开发人员计算机<代码>npm安装-g火炮
  • 浏览到
    C:\Users\{username}\npm
  • 拉上
    \node\u modules\carriers
    (例如carriers.7z)
  • 将zip和文件
    carols
    carols.cmd
    (位于npm文件夹的根目录)复制到服务器
  • 将两个
    carriers
    carriers.cmd
    粘贴到servers npm文件夹的根目录(
    C:\Users\{serverusername}\npm
  • 将zip解压缩到
    C:\Users\{serverusername}\npm\node\u模块
  • 这是一个工具的复杂版本。如果您的本地计算机的npm文件夹相对较少使用工具,那么您总是可以压缩整个
    npm
    文件夹,然后在服务器上复制并解压缩它


    我仍然觉得奇怪的是,npm坚持尝试连接到注册表,即使在使用
    npm pack
    npm install-g
    问题时也是如此:我曾经遇到过类似的情况,无法在本地机器上安装
    express.js
    package.json
    指定的所有其他依赖项(离线)由于互联网连接不可用,使用npm

    解决方案:我有一个在Windows上工作的解决方案(对其他平台不太确定),通过该解决方案,我安装了
    express
    框架,以及我的项目所需的所有依赖项,包括
    cookie解析器
    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
    
    通常在它的窗口中

  • 只需复制远程计算机的
    npm
    npm cache
    文件夹即可

  • 并将两个复制的文件夹,即
    npm
    npm缓存
    放在本地计算机的同一位置

    C:\Users\{Username}\AppData\Roaming\
    
  • 联机计算机:

    npm install -g offline-npm
    

    将npm模块复制到脱机计算机,就这样!

    你确定你的存档也包含angular cli的所有依赖项吗?我不确定,但现在我看到它正在尝试访问。所以我想我必须使用此文件才能使用npm命令。你有什么线索吗?如果你看到网页合并是一个依赖项,你需要在安装angular cli之前安装所有依赖项。由于未安装angular cli,npm会尝试从internet获取它,失败是否意味着我必须将所有依赖项导入我的封闭网络(脱机网络),“npm安装”到依赖项,然后npm安装angular cli?是的,但仅复制
    node\u模块的内容应该是足够的,除非您全局安装
    
    npm install -g offline-npm