Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.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 shrinkwrapped package.json会导致npm安装更新新版本_Node.js_Dependencies_Npm - Fatal编程技术网

Node.js shrinkwrapped package.json会导致npm安装更新新版本

Node.js shrinkwrapped package.json会导致npm安装更新新版本,node.js,dependencies,npm,Node.js,Dependencies,Npm,我在一个名为deployment的git分支中有一个npm-shrinkwrap.json和一个package.json 在我的服务器上,我从github获取并合并这个部署分支。这可确保我的服务器具有最新的部署版本 因为没有提供node_模块二进制文件等,所以在从服务器中提取项目存储库之后,我还需要在服务器端运行npm安装或npm更新 这就是我决定使用npm shrinkwrap的原因。但是,即使我在主文件夹中有这个npm-shrinkwrap.json并运行npm install,它仍然会安装

我在一个名为deployment的git分支中有一个npm-shrinkwrap.json和一个package.json

在我的服务器上,我从github获取并合并这个部署分支。这可确保我的服务器具有最新的部署版本

因为没有提供node_模块二进制文件等,所以在从服务器中提取项目存储库之后,我还需要在服务器端运行npm安装或npm更新

这就是我决定使用npm shrinkwrap的原因。但是,即使我在主文件夹中有这个npm-shrinkwrap.json并运行npm install,它仍然会安装较新版本的子模块,即使shrinkwrapped json文件已经锁定了这些子模块。似乎npm甚至没有查看包覆面提取文件

有人能解释为什么会发生这种情况,以及如何解决这种情况吗

这是package.json的一部分:

然而,当我运行npm install时,它将qs从版本0.4.2更新为版本0.5.0。此外,它还将mime更新为1.2.5。它为什么这样做

npm安装返回以下信息:

qs@0.5.0 ./node_modules/express/node_modules/connect/node_modules/qs
mime@1.2.5 ./node_modules/express/node_modules/connect/node_modules/mime
有趣的是,包覆膜收缩膜不包含这两种。我想这就是问题所在。现在的问题是为什么它不包含这些内容。

您的npm-shrinkwrap.json不包含connect版本的qs。您应该在生成shrinkwrap之前安装npm。

您的npm-shrinkwrap.json不包括connect版本的qs。您应该在生成包覆面提取之前安装npm

{
  "name": "appname",
  "version": "0.0.1",
  "dependencies": {
    "eventemitter2": {
      "version": "0.4.9"
    },
    "after": {
      "version": "0.4.1"
    },
    "express": {
      "version": "2.5.9",
      "dependencies": {
        "connect": {
          "version": "1.8.7",
          "dependencies": {
            "formidable": {
              "version": "1.0.9"
            }
          }
        },
        "mime": {
          "version": "1.2.4"
        },
        "qs": {
          "version": "0.4.2"
        },
        "mkdirp": {
          "version": "0.3.0"
        }
      }
    },
    "commander": {
      "version": "0.6.0"
    },
    "should": {
      "version": "0.6.3"
    },
    "request": {
      "version": "2.9.202"
    }
  }
}
qs@0.5.0 ./node_modules/express/node_modules/connect/node_modules/qs
mime@1.2.5 ./node_modules/express/node_modules/connect/node_modules/mime