Amazon Best VPN GoSearch

OnWorks 网站图标

npm-shrinkwrap - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 npm-shrinkwrap

这是命令 npm-shrinkwrap 可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


npm 收缩包装 - 锁定依赖版本

概要


npm 收缩包装

商品描述


此命令锁定包的依赖项的版本,以便您可以控制
安装包时将使用每个依赖项的确切版本。 这
的package.json 如果要使用,仍然需要文件 NPM 安装.

默认情况下, NPM 安装 递归安装目标的依赖项(如
的package.json),选择满足依赖关系的最新可用版本
切断模式。 在某些情况下,特别是在运送软件时,每次都会发生变化
受到严格管理,最好完全指定每个依赖项的每个版本
递归,以便后续构建和部署不会无意中获取更新
满足 semver 模式的依赖项版本。 指定特定的服务器
每个依赖项中的模式 的package.json 会促进这一点,但这并不总是
可能或可取,就像另一个作者拥有 npm 包一样。 也可以
将依赖项直接检查到源代码管理中,但这对于其他人来说可能是不可取的
原因。

例如,考虑包 A:

{
"name": "A",
“版本”:“0.1.0”,
“依赖关系”:{
“B”:“<0.1.0”
}
}

套餐B:

{
"name": "B",
“版本”:“0.0.1”,
“依赖关系”:{
“C”:“<0.1.0”
}
}

和包C:

{
"name": "C",
“版本”:“0.0.1”
}

如果这些是注册表中唯一可用的 A、B 和 C 版本,则正常 NPM
安装 A 将会安装:

[电子邮件保护]
`-- [电子邮件保护]
`-- [电子邮件保护]

但是,如果 [电子邮件保护] 发布,然后一个新的 NPM 安装 A 将会安装:

[电子邮件保护]
`-- [电子邮件保护]
`-- [电子邮件保护]

假设新版本没有修改 B 的依赖项。 当然,新版B
可能包括新版本的 C 和任意数量的新依赖项。 如果这些变化是
不受欢迎的,A 的作者可以指定依赖于 [电子邮件保护]. 但是,如果 A 的作者
和 B 的作者不是同一个人,A 的作者不可能说他或
当 B 根本没有改变时,她不想引入 C 的新发布版本。

在这种情况下,A 的作者可以运行

npm 收缩包装

这产生 npm-shrinkwrap.json, 看起来像这样:

{
"name": "A",
“版本”:“1.1.0”,
“依赖关系”:{
“乙”:{
“版本”:“1.0.1”,
"from": "B@^1.0.0",
"已解决": "https://registry.npmjs.org/B/-/B-1.0.1.tgz",
“依赖关系”:{
“C”: {
“版本”:“1.0.1”,
"from": "org/C#v1.0.1",
"resolved": "git://github.com/org/C.git#5c380ae319fc4efe9e7f2d9c78b0faa588fd99b4"
}
}
}
}
}

收缩包装命令已根据当前情况锁定依赖项
安装在 节点模块. 安装行为更改为:

1、reshwrap描述的模块树被复制。 这意味着重现
文件中描述的结构,使用“已解决”中引用的特定文件,如果
可用,如果不是,则使用“版本”回退到正常的包分辨率。

2. 遍历树并以通常的方式安装任何缺少的依赖项。

运用 收缩包装
使用收缩包装的包装与使用任何其他包装没有什么不同:您可以 NPM
安装 手动,或者添加一个依赖到你的 的package.json 文件和 NPM 安装 它。

建筑物 收缩包装
要对现有包裹进行收缩包装:

1。 运行 NPM 安装 在包根目录下安装所有的当前版本
依赖性。

2. 验证包在这些版本中是否按预期工作。

3。 运行 NPM 收缩包装,添加 npm-shrinkwrap.json git,并发布您的包。

要在收缩包装的包中添加或更新依赖项:

1。 运行 NPM 安装 在包根目录下安装所有的当前版本
依赖性。

2. 添加或更新依赖项。 NPM 安装 - 节省 每个新的或更新的包
单独更新 的package.json 和收缩包装。 请注意,它们必须是
显式命名以便安装:运行 NPM 安装 没有争论将
只是复制现有的收缩包装。

3. 验证包是否与新依赖项一起按预期工作。

4. 提交新的 npm-shrinkwrap.json,并发布您的包。

您可以使用 npm help outdated 来查看更新版本可用的依赖项。

其他 笔记
收缩包装文件必须与包装的一致 的package.json 文件中。 NPM 收缩包装
如果尚未安装所需的依赖项,则会失败,因为这会导致
收缩包装实际上不起作用。 同样,如果有,则命令将失败
无关的包(没有被引用 的package.json),因为这表明
的package.json 是不正确的。

建立 NPM 收缩包装 旨在锁定您的依赖项以供生产使用,
开发依赖 除非您明确设置 --dev 跑步时的标志
NPM 收缩包装. 如果安装 开发依赖 被排除在外,然后 npm 将打印警告。
如果您希望它们默认与您的模块一起安装,请考虑添加它们
依赖 代替。

如果收缩包装的包装 A 依赖于收缩包装的包装 B,则 B 的收缩包装将不会
用作 A 安装的一部分。但是,因为 A 的收缩包装是由
B 的有效安装并递归指定所有依赖项,B 的内容
收缩包裹将隐式包含在 A 的收缩包裹中。

注意事项
如果您希望锁定包中包含的特定字节,例如
100% 相信能够重现部署或构建,那么您应该检查
您的依赖项进入源代码控制,或寻求其他一些可以验证的机制
内容而不是版本。

使用 onworks.net 服务在线使用 npm-shrinkwrap


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad




×
广告
❤️在这里购物、预订或购买——免费,有助于保持服务免费。