如何解决linux下fsevents模块引起的npm ls报错的问题
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章将为大家详细讲解有关如何解决linux下fsevents模块引起的npm ls报错的问题,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。有个项目
千家信息网最后更新 2025年02月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安全错误
数据库的锁怎样保障安全
pc加拿大28软件开发定制
网络安全与治理漫谈
易语言如何添加数据库
普陀区工商软件开发诚信合作
内网爬虫 对网络安全
hdf5数据库优缺点
网络技术方面证书怎么考
我的武器服务器介绍
大型数据库及应用
网络安全督导检查情况反馈
淄博网络安全产品认证
联系苹果软件开发者
ktsk服务器故障码err60
我的世界没有服务器可以联机吗
软件开发cq
百世网络技术有限公司简介
什么是数据库的主键和候选码
巫山县新华软件开发培训
服务器上跑jar包
如何把程序放在远端服务器上
改了路由之后无法连接服务器
国外上网代理服务器
管件数据库
艺凤网络技术团队
服务器带宽不够导致cpu跑满吗
枣强县委网络安全和信息化
游戏公司的服务器怎么样
svn高速服务器搭建的办法
数据库可以没有字段吗
我国的网络安全法有哪些特点