如何解决linux下fsevents模块引起的npm ls报错的问题
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章将为大家详细讲解有关如何解决linux下fsevents模块引起的npm ls报错的问题,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。有个项目
千家信息网最后更新 2025年12月02日如何解决linux下fsevents模块引起的npm ls报错的问题
这篇文章将为大家详细讲解有关如何解决linux下fsevents模块引起的npm ls报错的问题,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
有个项目在mac下开发,安装包npm i,一切正常;
把这个项目放到linux机器上,安装包npm i,报了一堆warning:
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.2.7 (node_modules/chokidar/node_modules/fsevents):npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.7: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})npm WARN 0403@1.0.0 No descriptionnpm WARN 0403@1.0.0 No repository field.npm WARN optional SKIPPING OPTIONAL DEPENDENCY: abbrev@1.1.1 (node_modules/fsevents/node_modules/abbrev):npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/root/2019/0403/node_modules/fsevents/node_modules/abbrev' -> '/root/2019/0403/node_modules/fsevents/node_modules/.abbrev.DELETE'npm WARN optional SKIPPING OPTIONAL DEPENDENCY: ansi-regex@2.1.1 (node_modules/fsevents/node_modules/ansi-regex):npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/root/2019/0403/node_modules/fsevents/node_modules/ansi-regex' -> '/root/2019/0403/node_modules/fsevents/node_modules/.ansi-regex.DELETE'npm WARN optional SKIPPING OPTIONAL DEPENDENCY: aproba@1.2.0 (node_modules/fsevents/node_modules/aproba):npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/root/2019/0403/node_modules/fsevents/node_modules/aproba' -> '/root/2019/0403/node_modules/fsevents/node_modules/.aproba.DELETE'npm WARN optional SKIPPING OPTIONAL DEPENDENCY: balanced-match@1.0.0 (node_modules/fsevents/node_modules/balanced-match):npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/root/2019/0403/node_modules/fsevents/node_modules/balanced-match' -> '/root/2019/0403/node_modules/fsevents/node_modules/.balanced-match.DELETE'npm WARN optional SKIPPING OPTIONAL DEPENDENCY: chownr@1.1.1 (node_modules/fsevents/node_modules/chownr):npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/root/2019/0403/node_modules/fsevents/node_modules/chownr' -> '/root/2019/0403/node_modules/fsevents/node_modules/.chownr.DELETE'npm WARN optional SKIPPING OPTIONAL DEPENDENCY: code-point-at@1.1.0 (node_modules/fsevents/node_modules/code-point-at):npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename '/root/2019/0403/node_modules/fsevents/node_modules/code-point-at' -> '/root/2019/0403/node_modules/fsevents/node_modules/.code-point-at.DELETE'...执行npm ls,有不少UNMET OPTIONAL DEPENDENCY的模块,最后还报了一堆错:
│ ├── define-property@2.0.2 deduped│ ├── extend-shallow@3.0.2 deduped│ ├── regex-not@1.0.2 deduped│ └─┬ safe-regex@1.1.0│ └── ret@0.1.15├─┬ UNMET OPTIONAL DEPENDENCY fsevents@1.2.7│ ├── nan@2.13.2│ └─┬ UNMET OPTIONAL DEPENDENCY node-pre-gyp@0.10.3│ ├── UNMET OPTIONAL DEPENDENCY detect-libc@1.0.3│ ├─┬ UNMET DEPENDENCY mkdirp@0.5.1│ │ └── UNMET DEPENDENCY minimist@0.0.8│ ├─┬ UNMET OPTIONAL DEPENDENCY needle@2.2.4│ │ ├─┬ UNMET OPTIONAL DEPENDENCY debug@2.6.9│ │ │ └── UNMET OPTIONAL DEPENDENCY ms@2.0.0│ │ ├─┬ UNMET OPTIONAL DEPENDENCY iconv-lite@0.4.24│ │ │ └── UNMET OPTIONAL DEPENDENCY safer-buffer@2.1.2│ │ └── UNMET OPTIONAL DEPENDENCY sax@1.2.4│ ├─┬ UNMET OPTIONAL DEPENDENCY nopt@4.0.1│ │ ├── UNMET OPTIONAL DEPENDENCY abbrev@1.1.1│ │ └─┬ UNMET OPTIONAL DEPENDENCY osenv@0.1.5│ │ ├── UNMET OPTIONAL DEPENDENCY os-homedir@1.0.2│ │ └── UNMET OPTIONAL DEPENDENCY os-tmpdir@1.0.2│ ├─┬ UNMET OPTIONAL DEPENDENCY npm-packlist@1.2.0│ │ ├─┬ UNMET OPTIONAL DEPENDENCY ignore-walk@3.0.1│ │ │ └─┬ UNMET DEPENDENCY minimatch@3.0.4│ │ │ └─┬ UNMET DEPENDENCY brace-expansion@1.1.11│ │ │ ├── UNMET DEPENDENCY balanced-match@1.0.0│ │ │ └── UNMET DEPENDENCY concat-map@0.0.1│ │ └── UNMET OPTIONAL DEPENDENCY npm-bundled@1.0.5│ ├─┬ UNMET OPTIONAL DEPENDENCY npmlog@4.1.2│ │ ├─┬ UNMET OPTIONAL DEPENDENCY are-we-there-yet@1.1.5│ │ │ ├── UNMET OPTIONAL DEPENDENCY delegates@1.0.0│ │ │ └─┬ UNMET OPTIONAL DEPENDENCY readable-stream@2.3.6│ │ │ ├── UNMET OPTIONAL DEPENDENCY core-util-is@1.0.2│ │ │ ├── UNMET DEPENDENCY inherits@2.0.3│ │ │ ├── UNMET OPTIONAL DEPENDENCY isarray@1.0.0│ │ │ ├── UNMET OPTIONAL DEPENDENCY process-nextick-args@2.0.0│ │ │ ├── UNMET DEPENDENCY safe-buffer@5.1.2│ │ │ ├─┬ UNMET OPTIONAL DEPENDENCY string_decoder@1.1.1│ │ │ │ └── UNMET DEPENDENCY safe-buffer@5.1.2│ │ │ └── UNMET OPTIONAL DEPENDENCY util-deprecate@1.0.2│ │ ├── UNMET DEPENDENCY console-control-strings@1.1.0│ │ ├─┬ UNMET OPTIONAL DEPENDENCY gauge@2.7.4│ │ │ ├── UNMET OPTIONAL DEPENDENCY aproba@1.2.0│ │ │ ├── UNMET DEPENDENCY console-control-strings@1.1.0│ │ │ ├── UNMET OPTIONAL DEPENDENCY has-unicode@2.0.1│ │ │ ├── UNMET OPTIONAL DEPENDENCY object-assign@4.1.1│ │ │ ├── UNMET OPTIONAL DEPENDENCY signal-exit@3.0.2│ │ │ ├─┬ UNMET DEPENDENCY string-width@1.0.2│ │ │ │ ├── UNMET DEPENDENCY code-point-at@1.1.0│ │ │ │ ├─┬ UNMET DEPENDENCY is-fullwidth-code-point@1.0.0│ │ │ │ │ └── UNMET DEPENDENCY number-is-nan@1.0.1│ │ │ │ └── UNMET DEPENDENCY strip-ansi@3.0.1│ │ │ ├─┬ UNMET DEPENDENCY strip-ansi@3.0.1│ │ │ │ └── UNMET DEPENDENCY ansi-regex@2.1.1│ │ │ └─┬ UNMET OPTIONAL DEPENDENCY wide-align@1.1.3│ │ │ └── UNMET DEPENDENCY string-width@1.0.2│ │ └── UNMET OPTIONAL DEPENDENCY set-blocking@2.0.0│ ├─┬ UNMET OPTIONAL DEPENDENCY rc@1.2.8│ │ ├── UNMET OPTIONAL DEPENDENCY deep-extend@0.6.0│ │ ├── UNMET OPTIONAL DEPENDENCY ini@1.3.5│ │ ├── UNMET OPTIONAL DEPENDENCY minimist@1.2.0│ │ └── UNMET OPTIONAL DEPENDENCY strip-json-comments@2.0.1│ ├─┬ UNMET OPTIONAL DEPENDENCY rimraf@2.6.3│ │ └─┬ UNMET OPTIONAL DEPENDENCY glob@7.1.3│ │ ├── UNMET OPTIONAL DEPENDENCY fs.realpath@1.0.0│ │ ├─┬ UNMET OPTIONAL DEPENDENCY inflight@1.0.6│ │ │ ├── UNMET DEPENDENCY once@1.4.0│ │ │ └── UNMET DEPENDENCY wrappy@1.0.2│ │ ├── UNMET DEPENDENCY inherits@2.0.3│ │ ├── UNMET DEPENDENCY minimatch@3.0.4│ │ ├─┬ UNMET DEPENDENCY once@1.4.0│ │ │ └── UNMET DEPENDENCY wrappy@1.0.2│ │ └── UNMET OPTIONAL DEPENDENCY path-is-absolute@1.0.1│ ├── UNMET OPTIONAL DEPENDENCY semver@5.6.0│ └─┬ UNMET OPTIONAL DEPENDENCY tar@4.4.8│ ├── UNMET OPTIONAL DEPENDENCY chownr@1.1.1│ ├─┬ UNMET OPTIONAL DEPENDENCY fs-minipass@1.2.5│ │ └── UNMET DEPENDENCY minipass@2.3.5│ ├─┬ UNMET DEPENDENCY minipass@2.3.5│ │ ├── UNMET DEPENDENCY safe-buffer@5.1.2│ │ └── UNMET DEPENDENCY yallist@3.0.3│ ├─┬ UNMET OPTIONAL DEPENDENCY minizlib@1.2.1│ │ └── UNMET DEPENDENCY minipass@2.3.5│ ├── UNMET DEPENDENCY mkdirp@0.5.1│ ├── UNMET DEPENDENCY safe-buffer@5.1.2│ └── UNMET DEPENDENCY yallist@3.0.3├─┬ glob-parent@3.1.0│ ├─┬ is-glob@3.1.0│ │ └── is-extglob@2.1.1 deduped│ └── path-dirname@1.0.2├── inherits@2.0.3├─┬ is-binary-path@1.0.1│ └── binary-extensions@1.13.1├─┬ is-glob@4.0.1│ └── is-extglob@2.1.1├── normalize-path@3.0.0├── path-is-absolute@1.0.1├─┬ readdirp@2.2.1│ ├── graceful-fs@4.1.15│ ├── micromatch@3.1.10 deduped│ └─┬ readable-stream@2.3.6│ ├── core-util-is@1.0.2│ ├── inherits@2.0.3 deduped│ ├── isarray@1.0.0│ ├── process-nextick-args@2.0.0│ ├── safe-buffer@5.1.2│ ├─┬ string_decoder@1.1.1│ │ └── safe-buffer@5.1.2 deduped│ └── util-deprecate@1.0.2└── upath@1.1.2
npm ERR! missing: mkdirp@0.5.1, required by node-pre-gyp@0.10.3npm ERR! missing: minimist@0.0.8, required by mkdirp@0.5.1npm ERR! missing: minimatch@3.0.4, required by ignore-walk@3.0.1npm ERR! missing: brace-expansion@1.1.11, required by minimatch@3.0.4npm ERR! missing: balanced-match@1.0.0, required by brace-expansion@1.1.11npm ERR! missing: concat-map@0.0.1, required by brace-expansion@1.1.11npm ERR! missing: console-control-strings@1.1.0, required by npmlog@4.1.2npm ERR! missing: inherits@2.0.3, required by readable-stream@2.3.6npm ERR! missing: safe-buffer@5.1.2, required by readable-stream@2.3.6npm ERR! missing: safe-buffer@5.1.2, required by string_decoder@1.1.1npm ERR! missing: console-control-strings@1.1.0, required by gauge@2.7.4npm ERR! missing: string-width@1.0.2, required by gauge@2.7.4npm ERR! missing: strip-ansi@3.0.1, required by gauge@2.7.4npm ERR! missing: code-point-at@1.1.0, required by string-width@1.0.2npm ERR! missing: is-fullwidth-code-point@1.0.0, required by string-width@1.0.2npm ERR! missing: strip-ansi@3.0.1, required by string-width@1.0.2npm ERR! missing: number-is-nan@1.0.1, required by is-fullwidth-code-point@1.0.0npm ERR! missing: ansi-regex@2.1.1, required by strip-ansi@3.0.1npm ERR! missing: string-width@1.0.2, required by wide-align@1.1.3npm ERR! missing: inherits@2.0.3, required by glob@7.1.3npm ERR! missing: minimatch@3.0.4, required by glob@7.1.3npm ERR! missing: once@1.4.0, required by glob@7.1.3npm ERR! missing: once@1.4.0, required by inflight@1.0.6npm ERR! missing: wrappy@1.0.2, required by inflight@1.0.6npm ERR! missing: wrappy@1.0.2, required by once@1.4.0npm ERR! missing: minipass@2.3.5, required by tar@4.4.8npm ERR! missing: mkdirp@0.5.1, required by tar@4.4.8npm ERR! missing: safe-buffer@5.1.2, required by tar@4.4.8npm ERR! missing: yallist@3.0.3, required by tar@4.4.8npm ERR! missing: minipass@2.3.5, required by fs-minipass@1.2.5npm ERR! missing: safe-buffer@5.1.2, required by minipass@2.3.5npm ERR! missing: yallist@3.0.3, required by minipass@2.3.5npm ERR! missing: minipass@2.3.5, required by minizlib@1.2.1
仔细观察发现UNMET OPTIONAL DEPENDENCY的模块和npm ERR是同一批模块,也是安装时报warning的那些模块。
再仔细观察发现这些都是fsevents依赖的模块。
fsevents只能在macOS下安装,无法在linux系统安装。linux下会跳过fsevents模块,也不会安装fsevents依赖的模块。
这其实算是npm的一个bug,npm i时报Warn,npm ls又报Err,前后不一致,容易有误解。
目前无论用哪个版本的npm都会有这个问题,npm i --no-optional也不能解决这个问题。
这些报错不影响项目的正常运行,因为linux不需要fsevents。
如果不希望看到npm Err,可以用npm i -f强制安装,安装过程没有warn,安装完后npm ls看下:
└─┬ chokidar@2.1.5└── fsevents@1.2.7
干净了,没有任何报错。
我的项目是chokidar这个模块依赖了fsevents,chokidar又是browser-sync、webpack等依赖的。
关于如何解决linux下fsevents模块引起的npm ls报错的问题就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
模块
问题
项目
内容
文章
时报
更多
知识
篇文章
观察
不错
干净
一致
又是
机器
版本
系统
质量
过程
参考
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
计算机网上服务器价格
注入式漏洞大数据库
志愿无忧数据库
得爱软件开发有限公司怎么样
华为android软件开发
幼儿园护苗网络安全活动
建立低收入人口数据库
动力总成数据库
服务器能修改网络密码吗
安卓软件开发工资待遇
青岛戴尔服务器
机场 网络安全
数据库如何设置密码
战略新兴产业数据库
传奇单机服务器盟主黑屏
网络安全新技术心得体会
宿州富强互联网科技有限公司
mysql数据库名规则
面向对象数据库 开源
杭州助力智慧工厂软件开发
蒲江租房软件开发
电子数据库运用
云服务器只能建站吗
上海盈环网络技术有限公司好吗
计算机网络安全管理的内容
北京电机维修数据库
襄樊软件开发 公司
有什么好的网络安全书籍
宣城电力软件开发哪家好
网络安全红线违规内容