用另一个包完全覆盖 NPM 包

2024-03-08

根据 NPM 官方文档,overrides in package.json允许用另一个包完全覆盖一个包:

覆盖提供了一种替换依赖树中的包的方法 与另一个版本,或完全另一个包。这些改变可以 根据需要将范围设定为具体或模糊。

https://docs.npmjs.com/cli/v8/configuring-npm/package-json#overrides https://docs.npmjs.com/cli/v8/configuring-npm/package-json#overrides

但是,我不知道如何用同一包的更改版本以外的任何内容替换包。

我正在尝试更换node-sass with sass在传递依赖中,但我尝试过的配置都不起作用。

"overrides": {
  "node-sass": "sass@^1.3.0"
}

"overrides": {
  "node-sass": {
    ".": "sass@^1.3.0"
  }
}

上述任一配置都会产生以下 NPM 错误:

Invalid tag name "sass@^1.3.0": Tags may not have any characters that encodeURIComponent encodes.

如果我尝试一些更基本的东西:

"overrides": {
  "node-sass": "sass"
}

NPM 错误:

No matching version found for node-sass@sass.

我使用的是 NPM v8.3.1。

实际上是否可以将一个包完全替换为另一个包,或者我是否误解了文档中所写的内容?


基于一个链接的 Github 问题中的评论 https://github.com/npm/cli/issues/4909#issuecomment-1144837588在@Phil的评论中,我能够完全通过使用npm: prefix:

"overrides": {
  "dependency": {
    "node-sass": "npm:[email protected] /cdn-cgi/l/email-protection"
  }
}

没有相关记录overrides据我所知,所以我不知道该功能在多大程度上受支持,但它似乎至少在基本情况下有效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用另一个包完全覆盖 NPM 包 的相关文章

随机推荐

  • HTML/CSS - 右对齐和左对齐在同一行?

    首先 我知道有一些方法可以使文本位于同一行 但我不知道如何扩展这一点 这是我到目前为止所拥有的 我怎样才能在不使用表格的情况下实现它 这是 HTML 部分 p class details a href Top To Top a p p cl
  • 我们可以将多个 html5

    我有两个视频 一个用于流式传输我的webcam另一个共享我的桌面屏幕 窗户 我需要合并这两个媒体流合而为一 这样我就可以将其另存为 mp4 文件并广播它WebRTC 我能够将两者结合起来VIDEO 流 标签通过将它们限制为DIV tag d
  • MacOS 10.6 (Snow Leopard) 上的 sdl-config 安装在哪里

    安装后SDL http www libsdl org release SDL 1 2 14 dmg and SDL 开发 http www libsdl org release SDL devel 1 2 14 extras dmg在 Ma
  • 识别 R 函数和脚本的依赖关系

    我正在筛选一个包和使用该包的脚本 并希望识别外部依赖项 目标是修改脚本以指定library pkgName 并修改包中的函数以使用require pkgName 这样以后这些依赖关系就会更加明显 我正在修改代码以考虑每个外部依赖包 举个例子
  • Visual Studio 2012 中的 WebApi2

    如何在 Visual Studio 2012 中创建使用 WebApi2 的项目 我必须使用空白项目进行创建还是必须创建 MVC 项目 我不想安装 Visual Studio 2013 预览版 请帮忙 你需要安装适用于 Visual Stu
  • 在Mac上通过ssh连接到亚马逊AWS Linux服务器

    我创建了一个新的密钥对并将其下载到我的 Mac 然后使用该密钥对和我的安全组设置了一个新的 Amazon Linux AMI 服务器 现在我需要将下载的密钥对 pem 文件放入用户文件夹中的 ssh 文件中 然而 由于名称的原因 我无法创建
  • Swift 能抵抗 hooking 吗?

    Cycript 是一个基于控制台的应用程序 它是 Objective C 和 JavaScript 的混合体 Cycript 对于 iOS 应用程序的动态分析非常有用 如果您使用 Swift 编写任何方法或完整的 ipa 是否仍然可以在越狱
  • Zend_View_Helper 与 Zend View 部分脚本

    这是我的岔路口 我想在我的网页上显示某种按钮 并且我想在很多地方这样做 这个 按钮 实际上只是充当指向其他页面的链接 并且所有按钮实例都将转到一个页面 我希望所有按钮都相同 除了它们的大小之外 现在 我应该使用带有按钮 html 的部分脚本
  • Django 和 eBay 风格的多列表

    我正在尝试模仿 eBay 的多列表功能 基本上 eBay 允许用户指定他们选择的两种变体 例如size and color 每个变体都会有不同的数据 例如 Color red green Size 12 9 然后它会变得有点混乱 例如 qu
  • 在 Google Chrome 中激活麦克风时出错

    我尝试启用麦克风以允许用户录制音频 但出现此错误 未捕获的类型错误 无法读取未定义的属性 getUserMedia 在激活麦克风 navigator mediaDevices getUserMedia audio true video fa
  • iOS 7:标签栏控制器的不同导航项目

    我对 iOS 应用程序开发还比较陌生 目前我正在开发一个带有标签栏的小应用程序 我面临的问题是我希望每个选项卡都有不同的导航项目 我尝试了很多事情 但事情都不起作用 我正在使用原生 iOS 语言进行编程 在我的应用程序中 我有一个 AppD
  • 如何通过获取用户输入的日期来查找两个日期之间的日差

    我需要通过获取日期作为用户输入来查找两个日期之间的天数差异 我尝试使用获取日期raw input但我收到错误 我正在使用 2 7 版本的 python import time from datetime import date day1 i
  • 编译器会排除未使用的模板代码吗?

    当您使用具有多种方法 例如向量 的模板并编译代码时 编译器会丢弃未使用的方法中的代码吗 除非使用模板 否则不会实例化模板 因此实际上没有任何代码可以丢弃 标准说 14 7 1 10 实现不得隐式实例化不需要实例化的函数模板 成员模板 非虚成
  • 查找两个字符串之间的公共子串

    我想比较两个字符串并保留匹配的字符串 在比较失败的地方分开 所以如果我有 2 个字符串 string1 apples string2 appleses answer apples 另一个例子 因为字符串可能有多个单词 string1 app
  • emacs 是否可以突出显示 80 个以上的字符? [复制]

    这个问题在这里已经有答案了 我在这里看到了一些解决方案 如果超过 80 个字符 它们会突出显示整行 并且还会执行line wrap一旦该行变得大于 80 我想做的是编辑我的 emacs文件 以便超过 80 个字符的任何字符都呈现不同的背景
  • c 中的模拟器/生成的 switch 语句范围

    是否有 hack 来支持 c 99 或 Objective C switch 语句中的范围情况 我知道不支持这样写 switch x case 1 case 2 10 case 11 但我认为应该有一种方法可以使用 define 宏生成代码
  • 如何统计用户输入中字母的频率?

    当用户在 Ruby 中输入类似单词时 如何计算 supercaliforniamightly 中出现的字母的频率 并打印出星星或星号来计算出现的字母数量 这是我的代码 puts Enter string text gets chomp te
  • 解码 Pandas 中的 one-hot 数据帧

    我有 2 个数据框 数据如下 df1 id name age likes 0 A 21 rose 1 B 22 apple 2 C 30 grapes 4 D 21 lily df2 category Fruit Flower orange
  • ansible 2.13 中弃用了 hash_behavior 合并

    我们有很多 group vars webserver yml 文件 其结构如下 如果没有 hash behaviour merge 这些站点将不再被合并 并且不再可能以干净的方式配置多个虚拟主机 您建议如何解决该问题 项目1 yml sit
  • 用另一个包完全覆盖 NPM 包

    根据 NPM 官方文档 overrides in package json允许用另一个包完全覆盖一个包 覆盖提供了一种替换依赖树中的包的方法 与另一个版本 或完全另一个包 这些改变可以 根据需要将范围设定为具体或模糊 https docs