人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動(dòng)態(tài)

詳解linux下fsevents模塊引起的npm ls報(bào)錯(cuò)解決辦法

發(fā)布日期:2022-03-11 10:56 | 文章來(lái)源:站長(zhǎng)之家

有個(gè)項(xiàng)目在mac下開發(fā),安裝包npm i,一切正常;

把這個(gè)項(xiàng)目放到linux機(jī)器上,安裝包npm i,報(bào)了一堆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 description
npm 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'
...

執(zhí)行npm ls,有不少UNMET OPTIONAL DEPENDENCY的模塊,最后還報(bào)了一堆錯(cuò):

│  ├── 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.3
npm ERR! missing: minimist@0.0.8, required by mkdirp@0.5.1
npm ERR! missing: minimatch@3.0.4, required by ignore-walk@3.0.1
npm ERR! missing: brace-expansion@1.1.11, required by minimatch@3.0.4
npm ERR! missing: balanced-match@1.0.0, required by brace-expansion@1.1.11
npm ERR! missing: concat-map@0.0.1, required by brace-expansion@1.1.11
npm ERR! missing: console-control-strings@1.1.0, required by npmlog@4.1.2
npm ERR! missing: inherits@2.0.3, required by readable-stream@2.3.6
npm ERR! missing: safe-buffer@5.1.2, required by readable-stream@2.3.6
npm ERR! missing: safe-buffer@5.1.2, required by string_decoder@1.1.1
npm ERR! missing: console-control-strings@1.1.0, required by gauge@2.7.4
npm ERR! missing: string-width@1.0.2, required by gauge@2.7.4
npm ERR! missing: strip-ansi@3.0.1, required by gauge@2.7.4
npm ERR! missing: code-point-at@1.1.0, required by string-width@1.0.2
npm ERR! missing: is-fullwidth-code-point@1.0.0, required by string-width@1.0.2
npm ERR! missing: strip-ansi@3.0.1, required by string-width@1.0.2
npm ERR! missing: number-is-nan@1.0.1, required by is-fullwidth-code-point@1.0.0
npm ERR! missing: ansi-regex@2.1.1, required by strip-ansi@3.0.1
npm ERR! missing: string-width@1.0.2, required by wide-align@1.1.3
npm ERR! missing: inherits@2.0.3, required by glob@7.1.3
npm ERR! missing: minimatch@3.0.4, required by glob@7.1.3
npm ERR! missing: once@1.4.0, required by glob@7.1.3
npm ERR! missing: once@1.4.0, required by inflight@1.0.6
npm ERR! missing: wrappy@1.0.2, required by inflight@1.0.6
npm ERR! missing: wrappy@1.0.2, required by once@1.4.0
npm ERR! missing: minipass@2.3.5, required by tar@4.4.8
npm ERR! missing: mkdirp@0.5.1, required by tar@4.4.8
npm ERR! missing: safe-buffer@5.1.2, required by tar@4.4.8
npm ERR! missing: yallist@3.0.3, required by tar@4.4.8
npm ERR! missing: minipass@2.3.5, required by fs-minipass@1.2.5
npm ERR! missing: safe-buffer@5.1.2, required by minipass@2.3.5
npm ERR! missing: yallist@3.0.3, required by minipass@2.3.5
npm ERR! missing: minipass@2.3.5, required by minizlib@1.2.1

仔細(xì)觀察發(fā)現(xiàn)UNMET OPTIONAL DEPENDENCY的模塊和npm ERR是同一批模塊,也是安裝時(shí)報(bào)warning的那些模塊。

再仔細(xì)觀察發(fā)現(xiàn)這些都是fsevents依賴的模塊。

fsevents只能在macOS下安裝,無(wú)法在linux系統(tǒng)安裝。linux下會(huì)跳過(guò)fsevents模塊,也不會(huì)安裝fsevents依賴的模塊。

這其實(shí)算是npm的一個(gè)bug,npm i時(shí)報(bào)Warn,npm ls又報(bào)Err,前后不一致,容易有誤解。

目前無(wú)論用哪個(gè)版本的npm都會(huì)有這個(gè)問(wèn)題,npm i --no-optional也不能解決這個(gè)問(wèn)題。

這些報(bào)錯(cuò)不影響項(xiàng)目的正常運(yùn)行,因?yàn)閘inux不需要fsevents。

如果不希望看到npm Err,可以用npm i -f強(qiáng)制安裝,安裝過(guò)程沒有warn,安裝完后npm ls看下:

└─┬ chokidar@2.1.5
└── fsevents@1.2.7 

干凈了,沒有任何報(bào)錯(cuò)。

我的項(xiàng)目是chokidar這個(gè)模塊依賴了fsevents,chokidar又是browser-sync、webpack等依賴的。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持本站。

版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問(wèn)服務(wù)

1對(duì)1客戶咨詢顧問(wèn)

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部