npm依赖纠结网络
- npm依赖纠结网络 推荐度:
- 相关推荐
npm依赖纠结网络
这必须是一种常见的情况,但我找不到明确的答案。这已经困扰了我几天了。
场景:
我构建了一个私有库/依赖项,并在我的主项目中的package.json中引用它:
"my-shared-lib": "git+https://myuser:[email protected]/mygh/my-shared-lib.git#dev"
但是,我的主项目中的一个包依赖于相同的包(“uuid”),但是版本不同。不知道哪个,也许是React或其他东西。由于第三方依赖项的文件和文件夹结构不同,Webpack会在构建时抛出错误:
./node_modules/my-github-lib/data/guid_id.js中的错误找不到模块:错误:无法解析'C:\ MyProject \ node_modules \ my-github-lib \ data'解析'uuid / v1' 'C:\ MyProject \ node_modules \ my-github-lib \ data'中的'uuid / v1'解析请求是一个使用描述文件的模块:C:\ MyProject \ node_modules \ my-github-lib \ package.json(相对路径) :./ data)字段'browser'在使用描述文件后不包含有效的别名配置:C:\ MyProject \ node_modules \ my-github-lib \ package.json(相对路径:./ data)解析为模块查找对于C:\ MyProject中的模块使用描述文件:C:\ MyProject \ package.json(相对路径:。)字段'browser'在使用描述文件后不包含有效的别名配置:C:\ MyProject \ package.json (相对路径:。)使用描述文件:C:\ MyProject \ package.json(相对路径:./ uuid / v1)无扩展字段'browser'不包含有效的别名配置C:\ MyProject \ uuid \ v1不存在*字段“浏览器”不包含有效内容别名配置C:\ MyProject \ uuid \ v1 *不存在.js字段'browser'不包含有效的别名配置C:\ MyProject \ uuid \ v1.js不存在.jsx字段'browser'不包含包含有效的别名配置C:\ MyProject \ uuid \ v1.jsx不存在,因为目录C:\ MyProject \ uuid \ v1不存在C:\ MyProject \ node_modules \ my-github-lib \ data \ node_modules不存在或者不是目录C:\ MyProject \ node_modules \ my-github-lib \ node_modules不存在或者不是目录C:\ MyProject \ node_modules \ node_modules不存在或者不是目录C:\ MyProject \ projects \ node_modules不存在或者不是目录C:\ MyProject \ node_modules不存在或者不是目录C:\ Users \ myuser \ Documents \ Projects \ MyProject \ node_modules不存在或者不是目录C:\ Users \ myuser \ Documents \ Projects \ node_modules不存在或者不是目录C:\ Users \ myuser \ Documents \ node_modules不存在或者不是目录C:\ Users \ myuser \ node_modules不存在或不是目录C:\ Users \ node_modules不存在或者不是目录C:\ node_modules不存在或者不是使用描述文件在C:\ MyProject \ node_modules中查找模块的目录:C:\ MyProject \ package.json(相对路径:./ node_modules)字段'browser'在使用描述文件后不包含有效的别名配置:C:\ MyProject \ package.json(相对路径:./ node_modules)使用描述文件:C :\ MyProject \ node_modules \ uuid \ package.json(相对路径:./ v1)没有扩展名C:\ MyProject \ node_modules \ uuid \ v1不存在* C:\ MyProject \ node_modules \ uuid \ v1 *不存在.js C:\ MyProject \ node_modules \ uuid \ v1.js不存在.jsx C:\ MyProject \ node_modules \ uuid \ v1.jsx不存在,因为目录C:\ MyProject \ node_modules \ uuid \ v1 doesn不存在[C:\ MyProject \ uuid \ v1] [C:\ MyProject \ uuid \ v1 *] [C:\ MyProject \ uuid \ v1.js] [C:\ MyProject \ uuid \ v1.jsx] [C :\ MyProject \ uuid \ _v1] [C:\ MyProject \ node_modules \ my-github-lib \ data \ node_modules] [C:\ MyProject \ node_modules \ my-git hub-lib \ node_modules] [C:\ MyProject \ node_modules \ node_modules] [C:\ MyProject \ projects \ node_modules] [C:\ MyProject \ node_modules] [C:\ Users \ myuser \ Documents \ Projects \ MyProject \ node_modules] [C:\ Users \ myuser \ Documents \ Projects \ node_modules] [C:\ Users \ myuser \ Documents \ node_modules] [C:\ Users \ myuser \ node_modules] [C:\ Users \ node_modules] [C:\ node_modules] [C:\ MyProject \ node_modules \ uuid \ v1] [C:\ MyProject \ node_modules \ uuid \ v1 *] [C:\ MyProject \ node_modules \ uuid \ v1.js] [C:\ MyProject \ node_modules \ uuid \ v1 .jsx] [C:\ MyProject \ node_modules \ uuid \ v1]
这只是一个例子 - 它发生在其他6个库中并且具有相同的错误消息。
我可以通过查看我的图书馆副本来确认这种冲突:
......以及我的主项目中安装的内容:
显然,我需要这个依赖项的两个版本来满足我的构建,但强制任一版本都会破坏某些东西。
这个优雅的解决方案是什么?
回答如下:这是一个在3月份得到承认的Webpack漏洞,但还没有修复。
https://github/webpack-contrib/css-loader/issues/447
建议的解决方法对我有用,它为构建错误中列出的每个包添加了这样的行:
node: {
fs: "empty",
net: "empty",
tls: "empty"
}
不确定我喜欢这种解决方法。如果它发生了更多依赖,我会失去在客户端使用这些包的选项,不是吗?
- 关于platform
- VirtualBox中Windows 7虚拟机无法全屏显示怎么办?
- 可视化小目标
- LRUCache的C++实现
- java文件下载错误提示
- Jetpack Compose——Text(文本)的使用
- 回溯法之活动安排问题
- Linuxmmap
- 用 CaptureScreenshot捕捉游戏画面(截图,截屏)
- k8s资源限制——资源的配额管理(Resource Quotas)
- ext4 笔记一(与ext3比较)
- 终于有个高效率的排列组合算法
- TCP Socket与TCP 连接
- lssvr matlab,lssvm(最小二乘支持向量机)matlab
- extern用法详解
- Yolov3,v4,v5区别
- Python爬虫爬取动态网页
- idea2021 乱码问题
- Qt数据库:(五)QSqlQueryModel
- Qt SQL:QSqlField、QSqlRecord、QSqlIndex、QSqlError