首页 > 解决方案 > 如何在没有互联网连接的情况下全局安装 npm 包?

问题描述

我需要在没有互联网连接的计算机上全局安装 pm2 和 pm2-windows-service 包。我试图在我自己的计算机上(通过互联网连接)将每个包保存为 tarball,如下所示:

npm pack pm2 
npm pack pm2-windows-startup

然后我将两个压缩包文件“pm2-4.2.3.tgz”和“pm2-windows-startup-1.0.3.tgz”复制到没有互联网连接的计算机上,并尝试如下全局安装:

npm i -g pm2-4.2.3.tgz
npm i -g pm2-windows-startup-1.0.3.tgz

但我总是有同样的错误......

npm ERR! code ENOTFOUND
npm ERR! errno ENOTFOUND
npm ERR! network request to https://registry.npmjs.org/@pm2%2fagent failed, reason: getaddrinfo ENOTFOUND registry.npmjs.org
npm ERR! network This is a problem related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settings.
npm ERR! network
npm ERR! network If you are behind a proxy, please make sure that the
npm ERR! network 'proxy' config is set properly.  See: 'npm help config'

一些解决这个问题的建议?

标签: node.jsnpmpackagepm2

解决方案


根据npm 文档

全局安装(使用 -g):将内容放在 /usr/local 或安装节点的任何位置。

我自己没有尝试过,但我尝试做的是获取依赖项(带有所有子依赖项)并将其放在您的节点所在的目录中。类似的东西<PATH_TO_NODE>/node_modules

然后从你的本地取对应的文件node_modules/.bin,放到<PATH_TO_NODE>

如果你不知道你的节点安装在哪里,你可以在终端运行这个命令

npm config get prefix

UNIX 系统上的目录会有所不同


推荐阅读