[node.js] 비 MAC OS에서 fsevents 경고를 던지는 npm 설치를 해결하는 방법은 무엇입니까?

npm install명령 에서 다음 경고가 발생합니다.

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"}
)

경고로 인해 Jenkins 작업이 실패로 표시되는 것으로 보이므로 동일한 작업을 제거하려고합니다.

나는 이미 이것을 확인했다 https://stackoverflow.com/a/42938398/351903
그러나 거기에 언급 된 것과 달리 설정에 / node_modules / fserrors가 없습니다. 또한 내 package.json에는 fserrors가 포함되어 있지 않습니다. 다음은 내 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"
  }
}

나는의 (내 package.json의 devDependencies에서 정의된다) 반응 – 스크립트의 package.json에 fsevents을 볼 수 있습니다 node_modules\react-scripts\package.json

{
  "_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": "react-scripts@1.0.14",
  "_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": "timer150@gmail.com"
  },
  "_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": "timer150@gmail.com"
    },
    {
      "name": "fb",
      "email": "opensource+npm@fb.com"
    },
    {
      "name": "gaearon",
      "email": "dan.abramov@gmail.com"
    }
  ],
  "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"
}

최신 정보

npm install 명령을 실행하고 이전 명령의 종료 상태를 가져 왔습니다. 경고에도 불구하고 성공을 의미하는 0을 표시했습니다. 따라서 Jenkins 작업이 이로 인해 중단되어야하는 것처럼 보이지 않습니다. 그러나 우리는 OS와 관련이 없기 때문에이 경고를 제거 할 방법을 찾고 있습니다.



답변

fseventsMac 및 기타 Linux 시스템에서는 다르게 처리됩니다. Linux 시스템은 fseventsMac이 설치하는 동안 무시 합니다. 위의 오류 메시지 fsevents는 선택 사항이며 설치 프로세스에서 건너 뜁니다.

npm install --no-optional위의 경고를 피하기 위해 Linux 시스템에서 명령을 실행할 수 있습니다 .

추가 정보

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

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


답변

이 경고를 숨기려면 fsevents를 선택적 종속성으로 설치하면됩니다. 다음을 실행하십시오.

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

.. 그리고 경고는 더 이상 귀찮지 않을 것입니다.


답변

npm i -f

이 스레드 에서 몇 가지 의견을 다시 게시하고 싶습니다 . 여기서 문제를 읽을 수 있고 문제가 해결되었습니다 .

이것은 정확히 Angular의 문제입니다. 현재 package.json에는 optionalDependencies가 아니라 devDependencies로 fsevent가 필요합니다. OSX를 사용하지 않는 사용자에게는 문제가 될 수 있습니다.

때때로

package.json npm에서 제거하더라도 다른 모듈이 피어 dep로 가지고 있기 때문에 여전히 실패합니다.

그래서

npm-shrinkwrap.json이 아직 있으면 제거하거나 npm i -f를 시도하십시오.


답변

package.jsonoptionalDependencies키로 계산 합니다.
선택적 종속성에 대한 NPM .

fsevents이 객체에 추가 할 수 있으며 MacOS와 다른 플랫폼에 패키지를 설치 fsevents하는 경우 yarn 또는 npm 이 건너 뜁니다 .

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

설치 로그에 다음과 같은 메시지가 표시됩니다.

info fsevents@1.2.11: The platform "linux" is incompatible with this module.
info "fsevents@1.2.11" 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 "fsevents@2.1.2" is an optional dependency and failed compatibility check. Excluding it from installation.

도움이 되었기를 바랍니다.


답변

나는 같은 문제를 발견했고 위에서 언급 한 모든 해결책을 github에서 시도했습니다. 일부는 로컬 저장소에서만 작동하며 travic-CI 또는 Pipelines를 사용하여 원격 저장소에 PR을 푸시하면 동일한 오류가 다시 발생합니다. 마지막으로 아래 npm 명령을 사용하여 수정했습니다.

npm audit fix --force


답변

MacOS를 사용하고 있지만 동일한 문제가 발생했습니다. 문제는 일종의 버그입니다. 명령을 반복적으로 실행하여이 문제를 해결했습니다.

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

한 번은 작동하지 않았지만 반복적으로 캐시를 정리하고 npm을 제거한 후 npm을 다시 설치하면 오류가 발생했습니다. Angular 8을 사용하고 있으며이 문제는 일반적입니다.


답변

이 작업을 수행:

npm install --no-optional

이에 대한 자세한 내용은 https://github.com/npm/npm/issues/11632를 참조하십시오.