npm 如何处理循环依赖?

2024-06-18

只是想知道,如果有一个具有循环/循环依赖的包,npm 会处理它吗?如何?我用谷歌搜索但找不到非常有用的结果。


我在这里可以想到两种问题:

  1. 相同版本的循环依赖:A->B, B->C, C->A

    npm 是否像这样构建依赖关系? (只是我的猜测,没有找到任何循环依赖来实际测试)

    [email protected] /cdn-cgi/l/email-protection
    └─┬ [email protected] /cdn-cgi/l/email-protection
      └─┬ [email protected] /cdn-cgi/l/email-protection
        └── [email protected] /cdn-cgi/l/email-protection (deduped)
    
  2. 不同版本的循环依赖:[email protected] /cdn-cgi/l/email-protection>B, B->C, C->A@^1.0.0,我什至无法猜测如果这样的事情存在会发生什么?


我强烈反对有循环包依赖性。不仅仅是 npm 是否可以处理这个问题,还有围绕依赖项可能拥有的所有工具。例如,我遇到了一些由循环包依赖项引起的奇怪的 Typescript 构建错误,npm 似乎没问题。也许它没有注意到单声道存储库中的循环,但 Typescript 失败了,并且没有明确的错误说“由于循环依赖而失败”

根据经验,我会说“循环依赖”往往是一个令人讨厌的问题。这不是非黑即白的情况,它往往就像“未定义的行为”,有时还好,有时不太好。

我无法告诉你 npm 是否明确支持循环依赖,但我可以告诉你更重要的是考虑工具是否可以管理循环 npm 包。总的来说,假设不是更安全

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

npm 如何处理循环依赖? 的相关文章

  • nvm 与 npm 配置“前缀”选项不兼容:

    我正在尝试运行另一个 NodeJS 版本nvm但出现此错误 nvm use v4 2 4 nvm is not compatible with the npm config prefix option currently set to Us
  • 无法解析“反应导航”

    当我安装并尝试使用react navigation 从 react navigation 导入 StackNavigator 时 我正在尝试react native并出现以下错误 Error https i stack imgur com
  • npm 如何处理循环依赖?

    只是想知道 如果有一个具有循环 循环依赖的包 npm 会处理它吗 如何 我用谷歌搜索但找不到非常有用的结果 我在这里可以想到两种问题 相同版本的循环依赖 A gt B B gt C C gt A npm 是否像这样构建依赖关系 只是我的猜测
  • 接近堆限制的无效标记压缩分配失败 - JavaScript 堆内存不足

    我正在使用 Angular 7 2 当我进入ng serve 我面临以下问题 致命错误 接近堆限制的无效标记压缩分配失败 JavaScript 堆内存不足 这意味着什么 我该如何解决这个问题 完整的错误消息是 FATAL ERROR Ine
  • NetBeans IDE maven项目无法解决依赖关系

    使用 eclipse 多年后 我正在将自己移植到 NetBeans IDE 我正在打开现有的 Maven 项目 一切似乎都正常 但是当我尝试构建该项目时 它会抛出错误 提示 无法解析项目的依赖项 尽管 JAR 文件存在于我的 m2 目录中
  • 无法在docker容器中安装npm?

    我正在数字海洋服务器的 Docker 平台上部署一个简单的 Node js 应用程序 包 json name docker centos hello private true version 0 0 1 description Node j
  • npm 命令 create-react-app 失败

    我正在尝试在运行 Os X sierra 10 12 6 的计算机 mac pro 2017 上测试reactjs 我已经遵循了 Facebook 教程 确保您安装了最新版本的 Node js done 按照安装说明进行操作创建一个新项目
  • 使用node.js安装xml2json时出错

    我尝试为 node js 安装 xml2json 包 但它给了我错误 Error are as below 我的系统配置如下 Node js 版本 v5 4 1 npm 版本 3 3 12 操作系统 Windows 10 64 位 pyth
  • 无法运行 npm install

    In here http devdocs magento com guides v2 0 frontend dev guide css topics css debug html它说要跑npm install 但是当我运行时出现此错误sud
  • 使用 WMI 查找服务的依赖关系,然后区分依赖的服务和依赖的驱动程序

    MSDN 上有一个代码示例 它使用 WMI 枚举特定服务的所有依赖项 http msdn microsoft com en us library aa393673 v vs 85 aspx http msdn microsoft com e
  • GENERATE_SOURCEMAP=false,但仍然生成源代码

    我想在生产中隐藏 ReactJS 源代码 因此 在网上搜索一些信息使我找到了添加的简单解决方案 set GENERATE SOURCEMAP false react scripts build 到构建配置文件 This https stac
  • 将 NPM 包客户端与 nuxt 结合使用

    我对 nuxt 和 javascript 非常陌生 我正在尝试弄清楚如何在客户端使用我的应用程序的依赖项 我将它们列在我的 nuxt config js 中并使用 npm 安装 我也有一个文件 plugins导入它们的目录 不确定这是否好
  • 如何在reactJS中将一个页面重定向到另一个页面?

    App js 这是按钮点击事件处理 this handleClick this handleClick bind this handleClick e debugger e preventDefault this context route
  • Yeoman 无法安装,因为 0.9.5.tar.gz 出现 406

    I tried npm install yeoman今天在 linux mint 17 中出现以下错误 npm http 406 http github com yeoman generators archive 0 9 5 tar gz
  • 运行 mvn dependency:tree 时 Maven 无法识别同级模块

    我正在尝试设置一个多模块 Maven 项目 并且模块间依赖关系显然没有正确设置 I have
  • 用 Angular 6 进行业力测试

    我正在尝试使用 npm 运行角度测试 ng test 但问题是 chrome 在测试完成后启动而不停止 所以我使用了 ng test watch false 但这会导致错误 Chrome 69 0 3497 Linux 0 0 0 ERRO
  • 找不到 npx 命令

    我正在使用 webpack 我需要执行 node modules webpack bin webpack js using npx npx webpack将运行 webpack 二进制文件 node modules webpack bin
  • 批处理文件运行 npm start

    我有一个角度应用程序 可以使用命令启动npm start在控制台中 现在我想创建一个批处理文件 在启动时执行 npm install 这是我创建的批处理文件 前端 bat cd
  • 如何在Github操作中指定节点的路径?

    我正在尝试使用 Github 的 node js 工作流程在我的存储库上进行自动化测试 但是 我遇到了困难 因为节点是在子目录中设置的 而不是在存储库的根目录中 我一直在寻找一种方法来指定运行 npm 命令的目录 但没有找到任何答案 这是工
  • 如何在 NPM 中通过 package.json 使用 gitlab 存储库

    我正在开展一个内部项目 想在小组内分享一个工具 但如果我使用 npm 工具 它要么请求模块已在 npm 网站或公共 git 存储库上注册 我正在使用 gitlab 并且有一个私人令牌 git https gitlab ci token

随机推荐

  • UdpClient 在多个侦听器上接收数据

    我有一个实现自动发现机制的应用程序 但我遇到了 UdpClient 问题 只要应用程序的单个实例打开 它就可以正常工作 然而 当第二个实例打开时 只有第一个实例接收单播数据包 有趣的是 实现相同机制的类似应用程序似乎没有这个问题 有什么建议
  • 如何从react-native webview获取选择对象

    我有一个应用程序 我使用反应本机 webview 来显示文档 用户可以选择一些文本并执行我提供的一些自定义操作 如何从 webview 获取选择对象into my app 从 0 37 0 开始 RN 中的一个新功能可能会对您有所帮助 里面
  • Android REST API 连接

    我有点傻 对此感到抱歉 我编写了一个 API 它返回一些 JSON 我的目标是从 Android 应用程序使用此 API 我已经尝试过使用 AsyncTask 但失败了 我想像这样使用它 调用该类 告知 URL 和结果的类型 哪个json
  • 为什么三元运算符在自动拆箱时会抛出 NPE? [复制]

    这个问题在这里已经有答案了 在下面的测试中 getDummyAge 不应评估方法 因为testage变量总是null public class IntegerTest Test public void intergerTestFailure
  • Raphaël.js 中的剪辑路径

    我怎样才能像这样将 Clip path 与 Rapha l js 一起使用example http www simplesystems org RMagick doc ex clip path gif 看来 Raphael js 中只有 C
  • Swift:本地化字符串数组

    我有一个包含 100 多个字符串的数组 其设置如下所示 有什么方法可以本地化数组中的所有字符串 或者这是设置它的更好方法吗 var listOfThings Cars Mopeds 我建议将字符串放入 plist 文件中 然后可以根据需要本
  • 如何动态创建 Dapper 查询的参数

    我有一个值字典 例如 Name Alex 有没有办法将其作为查询参数传递给 Dapper 这是一个显示我想要做什么的示例 IDictionary
  • POINT 列上的 MySQL INSERT/UPDATE

    我正在尝试用我国家的地理位置填充我的数据库 我的一张表有 4 个字段 ID PK 纬度 经度和地理点 EDIT SCDBs Punto Geografico SET lat 18 469692 SET lon 63 93212 SET g
  • 使用 Google 脚本移动 Google Drive 中的文件

    我正在尝试使用通过 Google 表单发布的信息创建文档 然后在创建文档后 我想将该文档移至共享文件夹中以供人们查看 目前 我的脚本从 Google Forms 链接的电子表格中获取所有信息 使用该信息 我使用以下代码来创建文档 var t
  • sscanf("123456789123456789123456789", "%d", &n) 是否有定义的行为?

    When sscanf 或来自的另一个函数scanffamily 被赋予一个数字序列 其转换后的值超过目标整数类型的最大值 是否应该认为转换失败 行为是否已被定义 根据标准 7 21 6 2p10 f scanf 适用于整个家庭 如果这个对
  • ExecutorService 应该是静态的和全局的

    我想在我的应用程序中使用相同的线程池 为此 我可以使ExecutorService静态和全局 以便我可以调用ThreadUtil executorService to get ExecutorService当我需要它的时候 public c
  • 在 docker 构建期间设置 DNS 选项

    由于本地网络配置 我必须将 dns 和 dns search 选项添加到我的 docker run 命令中 如下所示 docker run dns XX XX 1 1 dns search companydomain t mycontain
  • 需要野科切吗?没有要加载的文件

    我正在尝试开始使用 Nokogiri 我运行了命令 gem install nokogiri 作为 Windows 7 64 位 中的管理员 控制台显示 已成功安装 和 已安装 1 个 gem 当我输入时 gem list local OR
  • Plesk 11 强制重定向到非 www

    我已经订购了装有 Plesk 11 的新专用服务器 将我的网站从旧服务器移至新服务器 但在打开网站时遇到一些问题 使用 htaccess 我强制客户端使用带有 www 的网站 Plesk 默认情况下执行相反的操作 www 到非 www 结果
  • 如何绘制每个分割对象的轮廓

    我应用分水岭分割来检测触摸对象 这样做效果很好 现在 我想绘制每个对象的轮廓 这样我就可以获得它们的长度 面积 矩等 但是分割结果中的对象仍然是触摸的 所以 我没能画出每一个的轮廓 如何绘制每个对象的轮廓 include
  • 将通配符包标识符转换为单个 ID

    我在应用程序商店中有一个使用通配符包标识符的应用程序 我想实现应用内购买 这需要非通配符ID 如何将现有应用的通配符 ID 转换为静态 ID 以进行应用内购买和推送通知 应用程序的捆绑标识符在更新之间必须始终保持相同 但 AppID 实际上
  • ScrollViewer 滚动条始终禁用

    我是 xaml 和 wpf 的新手 我正在尝试将一些用户控件从代码隐藏插入到容器中 我已阅读此博客文章MSDN http blogs msdn com b marcelolr archive 2009 06 09 stackpanel do
  • 如何向 PyQt5 GUI 添加线程?

    所以我使用 QT Designer 创建了一个 GUI 它工作得很好 但在更复杂的调用中 它不会更新主窗口并锁定 我想运行我的CustomComplexFunction 在根据不断变化的后端信息更新主窗口中的文本编辑时 我希望它每 2 秒运
  • 为什么我的项目没有显示在 JFrame 中?

    我对 JFrame 相当陌生 我想知道为什么我的项目没有显示在窗口上 我知道我没有 ActionHandler 但我只想让我的文本字段显示在我的窗口上 这是我的代码 import java awt Font import javax swi
  • npm 如何处理循环依赖?

    只是想知道 如果有一个具有循环 循环依赖的包 npm 会处理它吗 如何 我用谷歌搜索但找不到非常有用的结果 我在这里可以想到两种问题 相同版本的循环依赖 A gt B B gt C C gt A npm 是否像这样构建依赖关系 只是我的猜测