Làm thế nào để giải quyết việc cài đặt npm ném cảnh báo fsevents trên hệ điều hành không MAC?


115

Cảnh báo sau đang được đưa ra theo npm installlệnh -

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

Cảnh báo dường như đang khiến việc đánh dấu Jenkins Job của chúng tôi không thành công, vì vậy chúng tôi chỉ đang cố gắng loại bỏ điều tương tự.

Tôi đã kiểm tra https://stackoverflow.com/a/42938398/351903 này Nhưng, không giống như những gì được đề cập ở đó, tôi không có bất kỳ / node_modules / fserrors nào trong thiết lập của mình. Ngoài ra, package.json của tôi không chứa lỗi sai. Sau đây là package.json của tôi -

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

Tôi có thể thấy các fsevents trong package.json của react-scripts (được định nghĩa trong devDependencies của package.json của tôi) trong 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"
}

Cập nhật

Tôi đã thử chạy lệnh npm install và nhận được trạng thái thoát của lệnh trước đó. Nó cho thấy 0 nghĩa là thành công, bất chấp các cảnh báo. Vì vậy, có vẻ như công việc của Jenkins không phải là bế tắc vì điều này. Tuy nhiên, chúng tôi vẫn đang cố gắng tìm cách loại bỏ cảnh báo này vì nó không liên quan đến hệ điều hành của chúng tôi.


Hãy thử điều này, nó đã hoạt động đối với tôi stackoverflow.com/a/58178041/4088675 Thêm fsevents dưới dạng optionaDependecy
Oluwaloni Richard

Câu trả lời:


69

fseventsđược xử lý khác nhau trong mac và hệ thống linux khác. Hệ thống Linux bỏ qua fseventstrong khi mac cài đặt nó. Như thông báo lỗi ở trên cho biết đó fseventslà tùy chọn và nó được bỏ qua trong quá trình cài đặt.

Bạn có thể chạy npm install --no-optionallệnh trong hệ thống linux để tránh cảnh báo trên.

Thêm thông tin

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

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


16
Tôi vừa thử chạy npm install - không tùy chọn để tránh bị cảnh báo về fsevents. Không hoạt động mặc dù :(
Deunz

1
Thật không may, điều này dẫn đến các vấn đề khác do lỗi trong npm. Xem github.com/npm/npm/issues/19877#issuecomment-368981968
TigerBear

3
Như TigerBear nói, "- không tùy chọn" là một ý tưởng thực sự, thực sự tồi. Thường thì bạn có thể bỏ qua cảnh báo. Bạn cũng có thể sử dụng npm install -f: github.com/angular/angular/issues/13935
FoggyDay

4
Làm cách nào để xóa nó như một phụ thuộc tùy chọn để không hiển thị cảnh báo?
Aaron Franke

Không hoạt động như quảng cáo cho tôi. Ubuntu 19.04 tháng 1 năm 2020
Michael Durrant

37
npm i -f

Tôi muốn đăng lại một số nhận xét từ chủ đề này , nơi bạn có thể đọc về vấn đề và vấn đề đã được giải quyết .

Đây chính xác là vấn đề của Angular. Package.json hiện tại yêu cầu fsevent không phải là optionDependencies mà là devDependencies. Đây có thể là vấn đề đối với người dùng không phải OSX.

Đôi khi

Ngay cả khi bạn xóa nó khỏi package.json npm, tôi vẫn không thành công vì một mô-đun khác có nó như là một người đẹp ngang hàng.

Vì thế

nếu npm-cowrap.json vẫn ở đó, vui lòng xóa nó hoặc thử npm i -f


2
Làm gì npm i -f?
Super Jade

2
Có một sợi tương đương với npm i -f?
Super Jade

35

Nếu bạn muốn ẩn cảnh báo này, bạn chỉ cần cài đặt fsevents như một phụ thuộc tùy chọn. Chỉ cần thực hiện:

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

..Và cảnh báo sẽ không còn là điều đáng lo ngại nữa.


9
Đây không phải là một tùy chọn cho người dùng không phải Mac.
Matthew

3
fail non-mac
naringas

2
OP cho biết: "... đang cố gắng tìm cách loại bỏ cảnh báo này vì nó không liên quan đến hệ điều hành của chúng tôi" nên giải pháp đề xuất của bạn không hoạt động.
matthiku

1
Bạn đã thêm tùy chọn "-f" chưa?
Juninho Cruz

10

package.jsonđếm bằng một optionalDependenciesphím. NPM trên phụ thuộc tùy chọn .

Bạn có thể thêm fseventsvào đối tượng này và nếu bạn thấy mình cài đặt các gói trong một nền tảng khác với MacOS, fseventssẽ bị bỏ qua bởi sợi hoặc npm .

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

Bạn sẽ tìm thấy một thông báo như sau trong nhật ký cài đặt:

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.

Hy vọng nó giúp!


6

Tôi tìm thấy cùng một vấn đề và tôi đã thử tất cả các giải pháp được đề cập ở trên và trong github. Một số chỉ hoạt động trong kho lưu trữ cục bộ, khi tôi đẩy PR của mình vào các kho lưu trữ từ xa bằng travic-CI hoặc Pipelines thì tôi vẫn gặp lỗi tương tự. Cuối cùng, tôi đã sửa nó bằng cách sử dụng lệnh npm bên dưới.

npm audit fix --force


Vấn đề là không phải ai cũng gặp phải npm-auditvà khi tôi cố gắng cài đặt nó với npm install npm-auditnó thì không thành công ...
Serj Sagan

Điều này phù hợp với tôi với điều kiện tôi cũng đã cài đặt fsevents như một phụ thuộc tùy chọn như được mô tả bởi một số câu trả lời ở đây.
Safa Alai

3

Tôi cũng gặp vấn đề tương tự mặc dù đang sử dụng MacOS. Vấn đề là một loại lỗi. Tôi đã giải quyết vấn đề này bằng cách chạy liên tục các lệnh,

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

Một thời gian nó không hoạt động nhưng khi tôi liên tục làm sạch bộ nhớ cache và sau khi gỡ cài đặt npm, cài đặt lại npm, lỗi đã biến mất. Tôi đang sử dụng Angular 8 và sự cố này thường gặp



1

Tôi đang sử dụng, Angular CLI: 8.1.2 Node: 12.14.1 OS: win32 x64

Thật kỳ lạ, điều này đã giúp tôi

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

1
Bộ nhớ đệm npm clean --force đó đã giúp tôi không hoàn toàn cùng một vấn đề, mà là một vấn đề khác liên quan đến sự phụ thuộc của fsevents.
josh

1

Thay vì sử dụng --no-optional mỗi lần, chúng ta có thể thêm nó vào npm hoặc cấu hình sợi.

Đối với Yarn, có một cấu hình mặc định không có tùy chọn, vì vậy chúng tôi có thể chỉnh sửa nó:

yarn config set ignore-optional true

Đối với npm, không có bộ cấu hình mặc định, vì vậy chúng tôi có thể tạo một bộ:

npm config set ignore-optional true

0

Tôi cũng gặp lỗi tương tự. Trong trường hợp của tôi, tôi đang sử dụng một ổ đĩa được ánh xạ để chỉnh sửa mã của máy tính thứ hai, máy tính đó đang chạy linux. Không chắc chắn chính xác lý do tại sao gulp-watch dựa vào khả năng tương thích của hệ điều hành trước khi cài đặt (tôi cho rằng nó liên quan đến mục đích bảo mật). Về cơ bản, lỗi đang kiểm tra hệ điều hành của bạn và hệ điều hành đang gọi mô-đun nút, trong trường hợp của tôi, hai hệ điều hành không giống nhau nên nó đã gây ra lỗi. Mà từ cái nhìn của lỗi của bạn cũng giống như của tôi.

Lỗi

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

Tôi đã sửa nó như thế nào?

Tôi đã đăng nhập trực tiếp vào máy tính linux và chạy

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

Sau đó quay trở lại môi trường mã hóa của tôi và mọi thứ đều ổn sau đó.

Hy vọng rằng sẽ giúp!


sử dụng cái này npm i fsevents@latest -f --save-optional
RAVI BANGKIT NUR ZIKRILLAH

-1

Có, nó hoạt động khi với lệnh npm install --no-optional
Sử dụng môi trường:

  • iTerm2
  • đăng nhập macos vào vm ubuntu16 LTS của tôi.

-1

Tôi đã gặp lỗi này, hệ thống Linux (Ubuntu) và Điều này có thể xảy ra khi bạn chạy:

cài đặt npm

1) Nếu dự án không có trong đĩa / máy tính của bạn, hãy sao chép dự án đó vào máy tính của bạn và thử lại. Vì vậy, bạn có quyền truy cập thư mục (Chỉ cần đảm bảo rằng bạn có quyền truy cập).

2) Nếu bạn vẫn nhận được một số cảnh báo hoặc lỗi, hãy chạy:

sửa lỗi kiểm tra npm

Điều này sẽ giải quyết các lỗ hổng trong phần phụ thuộc của bạn và có thể giúp bạn sửa lỗ hổng bằng cách cung cấp các lệnh npm dễ chạy và các khuyến nghị để khắc phục sự cố thêm.

Hy vọng nó giúp!


-1

Chuyển sang PNPM: https://pnpm.js.org/

Các fsevents cảnh báo đã biến mất (trên Linux).

Ngay cả sợi mới nhất (2.x) cũng hiển thị các cảnh báo.


Việc thiếu cảnh báo ở đây có thể là do cách pnpm lưu trữ các phụ thuộc. Có thể bạn vẫn gặp cảnh báo một lần, nhưng những lần sử dụng tiếp theo sẽ chỉ đơn giản là tạo liên kết tượng trưng, ​​bỏ qua cài đặt đưa ra cảnh báo. Nếu bạn xóa bộ nhớ cache pnpm của mình, bạn có thể sẽ gặp lại các cảnh báo. Dù thế nào thì đây cũng là một phương án "chữa bệnh bằng cách giết bệnh nhân", không phải là một giải pháp.
erich2k8

@ erich2k8 Bạn không chính xác. Tôi đã xóa bộ nhớ cache pnpm và cảnh báo không xuất hiện trong quá trình cài đặt pnpm.
KTCO

-2

Nếu có ai gặp lỗi này cho cài đặt ionic cordova. chỉ cần sử dụng mã này npm install --no-optionaltrong cmd của bạn. Và sau đó chạy mã nàynpm install -g ionic@latest cordova


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.