如何将npm模块从注册表移动到本地计算机

如何将npm模块从注册表移动到本地计算机,npm,Npm,我有一个使用npm的项目。某些依赖项存在于只能通过VPN访问的注册表中。对于开发人员和构建机器来说,使用VPN可能是一项繁重的任务,因此我们不希望在运行npm install时要求人们使用VPN 为了解决这个问题,我创建了一个名为node\u modules\u local的目录。我在连接到VPN时安装了特定于VPN的依赖项,然后将它们移动到node\u modules\u local文件夹中。我更新了package.json如下所示: "dependencies": { "core-j

我有一个使用npm的项目。某些依赖项存在于只能通过VPN访问的注册表中。对于开发人员和构建机器来说,使用VPN可能是一项繁重的任务,因此我们不希望在运行
npm install
时要求人们使用VPN

为了解决这个问题,我创建了一个名为
node\u modules\u local
的目录。我在连接到VPN时安装了特定于VPN的依赖项,然后将它们移动到
node\u modules\u local
文件夹中。我更新了
package.json
如下所示:

"dependencies": {
    "core-js": "^2.6.5",
    "dep_1": "file:node_modules_local/dep_1",
    "dep_2": "file:node_modules_local/dep_2",
    ...
}
之后,运行
npm install
安装所有内容,而无需VPN访问。这似乎有效,但这是一种有效的方法吗

在本例中,我使用的是node 8.7.0和npm 5.4.2。

我的团队和我使用它,因为它很容易设置脱机镜像

  • 将软件包下拉到某个目录中(例如
    @angular-core-7.2.0.tgz
  • 纱线配置设置纱线离线镜像C:\my\local\repo
  • 运行
    warn install--offline--freeze lockfile
    从脱机镜像下载依赖项
  • 在使用
    --freeze lockfile
    选项运行之前,您可能需要运行
    warn install--offline
    以生成
    warn.lock
    文件