gpt4 book ai didi

node.js - `CI=true` 如何影响 `npm install` 命令?

转载 作者:行者123 更新时间:2023-12-04 04:06:07 26 4
gpt4 key购买 nike

我很难找到关于 CI=true 的好文档影响 npm install命令。

怎么样CI=true npm install不同于 npm install .
是否CI=true甚至影响安装?

我在本地尝试过它并没有导致它表现得像 npm ci .我尝试在没有 package-lock.json 的情况下运行它或 npm-shrinkwrap.json文件存在。它创建了锁定文件。

另外,两者之间有区别吗

CI=true npm install


CI=true 
npm install


export CI=true 
npm install

最佳答案

设置 CI环境变量到 true影响 npm 收集使用数据的方式。
Does npm send any information about me back to the registry 中解释了它如何影响 npm文档的部分(为方便起见,我在下面提供了该部分的逐字副本)。特别考虑有关 Npm-In-CI 的描述标题。
总之,设置CI=true导致 npm 设置 Npm-In-CI标题到 true ,因此(通过 npm)收集的数据假设软件包是通过“构建场”安装的(即用于 C 连续 I 集成目的),而不是“人”。
以下是上述链接中的文档中所述的内容:

Does npm send any information about me back to the registry?

Yes.

When making requests of the registry npm adds two headers with information about your environment:

  • Npm-Scope – If your project is scoped, this header will contain its scope. In the future npm hopes to build registry features that use this information to allow you to customize your experience for your organization.
  • Npm-In-CI – Set to “true” if npm believes this install is running in a continuous integration environment, “false” otherwise. This is detected by looking for the following environment variables: CI, TDDIUM, JENKINS_URL, bamboo.buildKey. If you’d like to learn more you may find the original PR interesting. This is used to gather better metrics on how npm is used by humans, versus build farms.


关于您问题的特定部分,即

Does the CI=true even effect the install?


一般为“否”,无论是否使用 CI=true,通过 npm 安装的结果没有显着差异。 .
但是,通过 npm 安装软件包的一种可能情况是,如果软件包作者定义了 postinstall package.json 中的脚本执行不同的条件逻辑 if/when CI环境变量设置为 true .

关于你问题的最后一部分,即

Also, is there a difference between ...


接受的答案 this question解决这个问题。
总之;
  • 您的前两个命令是相似的 - 它们都仅为当前 shell 设置环境变量。
  • 但是,您最后一个使用 export 的示例为当前 shell 和从当前 shell 启动的所有进程设置环境变量。
  • 关于node.js - `CI=true` 如何影响 `npm install` 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62473327/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com