Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Lösung für den npm ls-Fehler, der durch das fsevents-Modul unter Linux verursacht wurde

Lösung für den npm ls-Fehler, der durch das fsevents-Modul unter Linux verursacht wurde

不言
不言nach vorne
2019-04-04 09:26:166485Durchsuche

Der Inhalt dieses Artikels befasst sich mit der Lösung des durch das fsevents-Modul verursachten NPM-Fehlers. Ich hoffe, dass er für Sie hilfreich ist.

Es gibt ein Projekt, das unter Mac entwickelt wurde npm i und alles ist normal;

Legen Sie dieses Projekt auf einen Linux-Computer und installieren Sie das Paket npm i, aber es werden eine Reihe von Warnungen angezeigt:

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'
...

Ausführen npm ls, es gibt viele Module von UNMET OPTIONAL DEPENDENCY, und schließlich wurde eine Reihe von Fehlern gemeldet:

│   ├── 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
rrree

Nach sorgfältiger Beobachtung stellte ich fest, dass die Module von UNMET OPTIONAL DEPENDENCY und npm ERR sind die gleichen Module, was auch die Installationszeit der Warnmodule betrifft.

Ein genauerer Blick zeigt, dass es sich um Module handelt, von denen fsevents abhängt.

fsevents kann nur unter macOS installiert werden und kann nicht auf Linux-Systemen installiert werden. Unter Linux wird das Modul fsevents übersprungen und die Module, von denen fsevents abhängt, werden nicht installiert.

Dies ist tatsächlich ein Fehler in npm npm i meldet Warn, npm ls meldet Err erneut, der inkonsistent und anfällig für Missverständnisse ist.

Derzeit tritt dieses Problem auf, egal welche Version von npm verwendet wird, und npm i --no-optional kann dieses Problem nicht lösen.

Diese Fehlerberichte haben keinen Einfluss auf den normalen Betrieb des Projekts, da Linux kein fsevents erfordert.

Wenn Sie npm Err nicht sehen möchten, können Sie die Installation mit npm i -f erzwingen. Während des Installationsvorgangs wird kein Hinweis angezeigt: npm ls

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
ist sauber und es gibt keine Fehler.

Mein Projekt ist

Dieses Modul hängt von chokidar ab, und fsevents hängt von chokidar, browser-sync usw. ab. webpack



Das obige ist der detaillierte Inhalt vonLösung für den npm ls-Fehler, der durch das fsevents-Modul unter Linux verursacht wurde. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen