Wie löse ich die npm-Installation, die die Warnung fsevents unter Nicht-MAC-Betriebssystemen auslöst?

102

Folgende Warnung wird auf npm installBefehl geworfen -

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.1.2 (node_modules\rea
ct-scripts\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@
1.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"}
)
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules\ch
okidar\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@
1.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"}
)

Die Warnung führt anscheinend dazu, dass unser Jenkins-Job als fehlgeschlagen markiert wird, also versuchen wir nur, dasselbe loszuwerden.

Ich habe dies bereits unter https://stackoverflow.com/a/42938398/351903 überprüft. Im Gegensatz zu den dort genannten Informationen habe ich jedoch keine / node_modules / fserrors in meinem Setup. Außerdem enthält meine package.json keine Fehler. Es folgt mein package.json -

{
  "name": "mvc-panel",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "bootstrap": "^3.3.7",
    "jquery": "^3.2.1",
    "material-ui": "^0.18.3",
    "qs": "^6.4.0",
    "react": "^15.5.4",
    "react-alert": "^2.1.2",
    "react-bootstrap-table": "^3.4.1",
    "react-dom": "^15.5.4",
    "react-loader": "^2.4.2",
    "react-router-dom": "^4.1.1",
    "react-tap-event-plugin": "^2.0.1",
    "serve": "^6.0.0"
  },
  "devDependencies": {
    "datatables.net": "^1.10.15",
    "jquery": "^3.2.1",
    "react-scripts": "^1.0.7"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject"
  }
}

Ich kann fsevents in der package.json von Reaktionsskripten (die unter devDependencies meiner package.json definiert sind) in node_modules\react-scripts\package.json- sehen

{
  "_args": [
    [
      {
        "raw": "react-scripts@^1.0.7",
        "scope": null,
        "escapedName": "react-scripts",
        "name": "react-scripts",
        "rawSpec": "^1.0.7",
        "spec": ">=1.0.7 <2.0.0",
        "type": "range"
      },
      "D:\\Sandeepan\\Payu MVC\\backend codebase\\MVC2.0\\panel\\mvc-panel"
    ]
  ],
  "_from": "react-scripts@>=1.0.7 <2.0.0",
  "_id": "[email protected]",
  "_inCache": true,
  "_location": "/react-scripts",
  "_nodeVersion": "8.5.0",
  "_npmOperationalInternal": {
    "host": "s3://npm-registry-packages",
    "tmp": "tmp/react-scripts-1.0.14.tgz_1506471610836_0.5613740666303784"
  },
  "_npmUser": {
    "name": "timer",
    "email": "[email protected]"
  },
  "_npmVersion": "5.3.0",
  "_phantomChildren": {
    "asap": "2.0.6",
    "escape-string-regexp": "1.0.5",
    "graceful-fs": "4.1.11",
    "has-ansi": "2.0.0",
    "universalify": "0.1.1"
  },
  "_requested": {
    "raw": "react-scripts@^1.0.7",
    "scope": null,
    "escapedName": "react-scripts",
    "name": "react-scripts",
    "rawSpec": "^1.0.7",
    "spec": ">=1.0.7 <2.0.0",
    "type": "range"
  },
  "_requiredBy": [
    "#DEV:/"
  ],
  "_resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-1.0.14.tgz",
  "_shasum": "70fe76c9beb67b136b953e875bdfe4ad78d410d1",
  "_shrinkwrap": null,
  "_spec": "react-scripts@^1.0.7",
  "_where": "D:\\Sandeepan\\Payu MVC\\backend codebase\\MVC2.0\\panel\\mvc-panel",
  "bin": {
    "react-scripts": "./bin/react-scripts.js"
  },
  "bugs": {
    "url": "https://github.com/facebookincubator/create-react-app/issues"
  },
  "dependencies": {
    "autoprefixer": "7.1.2",
    "babel-core": "6.25.0",
    "babel-eslint": "7.2.3",
    "babel-jest": "20.0.3",
    "babel-loader": "7.1.1",
    "babel-preset-react-app": "^3.0.3",
    "babel-runtime": "6.26.0",
    "case-sensitive-paths-webpack-plugin": "2.1.1",
    "chalk": "1.1.3",
    "css-loader": "0.28.4",
    "dotenv": "4.0.0",
    "eslint": "4.4.1",
    "eslint-config-react-app": "^2.0.1",
    "eslint-loader": "1.9.0",
    "eslint-plugin-flowtype": "2.35.0",
    "eslint-plugin-import": "2.7.0",
    "eslint-plugin-jsx-a11y": "5.1.1",
    "eslint-plugin-react": "7.1.0",
    "extract-text-webpack-plugin": "3.0.0",
    "file-loader": "0.11.2",
    "fs-extra": "3.0.1",
    "fsevents": "1.1.2",
    "html-webpack-plugin": "2.29.0",
    "jest": "20.0.4",
    "object-assign": "4.1.1",
    "postcss-flexbugs-fixes": "3.2.0",
    "postcss-loader": "2.0.6",
    "promise": "8.0.1",
    "react-dev-utils": "^4.1.0",
    "style-loader": "0.18.2",
    "sw-precache-webpack-plugin": "0.11.4",
    "url-loader": "0.5.9",
    "webpack": "3.5.1",
    "webpack-dev-server": "2.8.2",
    "webpack-manifest-plugin": "1.2.1",
    "whatwg-fetch": "2.0.3"
  },
  "description": "Configuration and scripts for Create React App.",
  "devDependencies": {
    "react": "^15.5.4",
    "react-dom": "^15.5.4"
  },
  "directories": {},
  "dist": {
    "integrity": "sha512-+p0q2N2WW7L4WW6uObqN7fYwSQZ9fBI0StpMYl1Ukoz/lCbemf+yW6b8refyhTsGy62GAqxlpyEfVcTE3hJAxg==",
    "shasum": "70fe76c9beb67b136b953e875bdfe4ad78d410d1",
    "tarball": "https://registry.npmjs.org/react-scripts/-/react-scripts-1.0.14.tgz"
  },
  "engines": {
    "node": ">=6"
  },
  "files": [
    "bin",
    "config",
    "scripts",
    "template",
    "utils"
  ],
  "homepage": "https://github.com/facebookincubator/create-react-app#readme",
  "license": "MIT",
  "maintainers": [
    {
      "name": "timer",
      "email": "[email protected]"
    },
    {
      "name": "fb",
      "email": "[email protected]"
    },
    {
      "name": "gaearon",
      "email": "[email protected]"
    }
  ],
  "name": "react-scripts",
  "optionalDependencies": {
    "fsevents": "1.1.2"
  },
  "readme": "ERROR: No README data found!",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/facebookincubator/create-react-app.git"
  },
  "version": "1.0.14"
}

Aktualisieren

Ich habe versucht, den Befehl npm install auszuführen und den Exit-Status des früheren Befehls abzurufen. Es zeigte 0, was trotz der Warnungen Erfolg bedeutet. Es sieht also nicht so aus, als ob Jenkins Job aus diesem Grund stecken bleiben sollte. Wir versuchen jedoch immer noch, einen Weg zu finden, um diese Warnung zu beseitigen, da sie für unser Betriebssystem nicht relevant ist.

Sandeepan Nath
quelle
Versuchen Sie dies, es hat bei mir funktioniert stackoverflow.com/a/58178041/4088675 Hinzufügen von fsevents als OptionaDependecy
Oluwaloni Richard

Antworten:

63

fseventswird in Mac und anderen Linux-Systemen anders behandelt. Das Linux-System ignoriert es, fseventswährend der Mac es installiert. Wie in der obigen Fehlermeldung angegeben, fseventsist dies optional und wird beim Installationsprozess übersprungen.

Sie können den npm install --no-optionalBefehl im Linux-System ausführen , um die oben genannten Warnungen zu vermeiden.

Weitere Informationen

https://github.com/npm/npm/issues/14185

https://github.com/npm/npm/issues/5095

ashisrai_
quelle
11
Ich habe gerade versucht, npm install auszuführen - no-optional, um zu verhindern, dass für fsevents gewarnt wird. Hat aber nicht funktioniert :(
Deunz
1
Leider führt dies aufgrund eines Fehlers in npm zu anderen Problemen. Siehe github.com/npm/npm/issues/19877#issuecomment-368981968
TigerBear
2
Wie TigerBear sagt, ist "--no-optional" eine wirklich, wirklich schlechte Idee. Es ist normalerweise in Ordnung, die Warnung zu ignorieren. Sie können auch verwenden npm install -f: github.com/angular/angular/issues/13935
FoggyDay
2
Wie entferne ich es einfach als optionale Abhängigkeit, um die Warnung nicht anzuzeigen?
Aaron Franke
Hat nicht wie angegeben für mich funktioniert. Ubuntu 19.04 Jan 2020
Michael Durrant
34
npm i -f

Ich möchte einige Kommentare aus diesem Thread erneut veröffentlichen , in denen Sie sich über das Problem informieren können und das Problem behoben wurde .

Dies ist genau das Problem von Angular. Die aktuelle package.json erfordert fsevent nicht als optionale Abhängigkeiten, sondern als devDependencies. Dies kann ein Problem für Nicht-OSX-Benutzer sein.

Manchmal

Selbst wenn Sie es aus package.json npm entfernen, schlägt ich immer noch fehl, weil ein anderes Modul es als Peer-Dep hat.

So

Wenn npm-shrinkwrap.json noch vorhanden ist, entfernen Sie es bitte oder versuchen Sie es mit npm i -f

sr9yar
quelle
29

Wenn Sie diese Warnung ausblenden möchten, müssen Sie nur fsevents als optionale Abhängigkeit installieren. Einfach ausführen:

npm i fsevents@latest -f --save-optional

..Und die Warnung wird nicht länger stören.

Juninho Cruz
quelle
5
Dies ist keine Option für Nicht-Mac-Benutzer.
Matthew
2
scheitert nicht non-mac
naringas
1
Das OP sagte: "... versucht, einen Weg zu finden, um diese Warnung loszuwerden, da sie für unser Betriebssystem nicht relevant ist." Ihre vorgeschlagene Lösung funktioniert also nicht.
Matthiku
Haben Sie die Option "-f" hinzugefügt?
Juninho Cruz
8

package.jsonzählt mit einem optionalDependenciesSchlüssel. NPM zu optionalen Abhängigkeiten .

Sie können fseventsdiesem Objekt etwas hinzufügen. Wenn Sie Pakete auf einer anderen Plattform als MacOS installieren, fseventswird dies entweder von Garn oder von npm übersprungen .

"optionalDependencies": {
  "fsevents": "2.1.2"
},

Im Installationsprotokoll finden Sie eine Meldung wie die folgende:

info fsevents@1.2.11: The platform "linux" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
info fsevents@2.1.2: The platform "linux" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.

Ich hoffe es hilft!

Esteban Borai
quelle
6

Ich fand das gleiche Problem und versuchte alle oben genannten Lösungen und in Github. Einige funktionieren nur im lokalen Repository, wenn ich meine PR in Remote-Repositorys mit travic-CI oder Pipelines pushe, bekomme ich den gleichen Fehler zurück. Schließlich habe ich es mit dem Befehl npm unten behoben.

npm audit fix --force

eli
quelle
Das Problem ist, dass nicht jeder hat npm-auditund wenn ich versuche, es npm install npm-auditdamit zu installieren , schlägt dies drastisch fehl ...
Serj Sagan
Dies funktionierte für mich, vorausgesetzt, ich hatte auch fsevents als optionale Abhängigkeit installiert, wie in mehreren Antworten hier beschrieben.
Safa Alai
2

Ich hatte auch das gleiche Problem, obwohl ich MacOS benutze. Das Problem ist eine Art Fehler. Ich habe dieses Problem gelöst, indem ich die Befehle wiederholt ausgeführt habe.

sudo npm cache clean --force 
sudo npm uninstall 
sudo npm install

Einmal hat es nicht funktioniert, aber als ich den Cache wiederholt bereinigte und npm deinstallierte und npm neu installierte, ging der Fehler aus. Ich verwende Angular 8 und dieses Problem ist häufig

Parthan_akon
quelle
0

Ich habe den gleichen Fehler bekommen. In meinem Fall habe ich ein zugeordnetes Laufwerk verwendet, um Code von einem zweiten Computer zu bearbeiten, auf dem Linux ausgeführt wurde. Ich bin mir nicht sicher, warum gulp-watch vor der Installation auf Betriebssystemkompatibilität angewiesen ist (ich würde annehmen, dass dies mit Sicherheitszwecken zu tun hat). Im Wesentlichen wird der Fehler mit Ihrem Betriebssystem und dem Betriebssystem verglichen, das das Knotenmodul aufruft. In meinem Fall waren die beiden Betriebssysteme nicht identisch, sodass ein Fehler aufgetreten ist. Was nach dem Aussehen Ihres Fehlers dasselbe ist wie meines.

Der Fehler

Unsupported platform for fsevents@1.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

Wie habe ich das behoben?

Ich habe mich direkt beim Linux-Computer angemeldet und bin gelaufen

npm install --save-dev <module-name>

Dann ging es zurück in meine Codierungsumgebung und danach war alles in Ordnung.

Hoffentlich hilft das!

ARLCode
quelle
benutze dies npm i fsevents@latest -f --save-optional
RAVI BANGKIT NUR ZIKRILLAH
0

Ich hatte diesen Fehler, Linux-System (Ubuntu) und Dies könnte passieren, wenn Sie ausführen:

npm installieren

1) Wenn das Projekt nicht auf Ihrem Localdisk / Computer vorhanden ist, kopieren Sie es auf Ihren Computer und versuchen Sie es erneut. So erhalten Sie die Berechtigung zum Zugriff auf Ordner (Stellen Sie einfach sicher, dass Sie über die Zugriffsberechtigung verfügen).

2) Wenn immer noch Warnungen oder Fehler angezeigt werden, führen Sie Folgendes aus:

npm Audit Fix

Auf diese Weise werden Schwachstellen in Ihren Abhängigkeiten behoben und Sie können eine Schwachstelle beheben, indem Sie einfach auszuführende npm-Befehle und Empfehlungen zur weiteren Fehlerbehebung bereitstellen.

Ich hoffe es hilft!

Harish Kulkarni
quelle
0

Ich verwende Angular CLI: 8.1.2 Knoten: 12.14.1 Betriebssystem: win32 x64

Seltsamerweise hat mir das geholfen

npm cache clean --force
npm uninstall @angular/cli
npm install @angular/cli@8.1.2
Pallavi
quelle
0

Wechseln Sie zu PNPM: https://pnpm.js.org/

Die fseventsWarnungen sind weg (unter Linux).

Sogar das neueste Garn (2.x) zeigt die Warnungen.

KTCO
quelle
-1

Ja, es funktioniert mit dem Befehl npm install --no-optional
Verwenden der Umgebung:

  • iTerm2
  • macos anmelden , um meine vm ubuntu16 LTS.
Gu Steven
quelle
-2

Wenn jemand diesen Fehler für ionic cordova erhält, installieren Sie. Verwenden Sie einfach diesen Code npm install --no-optionalin Ihrem cmd. Führen Sie dann diesen Code ausnpm install -g ionic@latest cordova

Maizied Hasan Shuvo
quelle
-3

Verwenden Sie sudo npm install -g appium.

Babue
quelle