MAC olmayan işletim sistemlerinde npm yükleme fsevents uyarısı nasıl çözülür?


115

npm installKomuta aşağıdaki uyarı atılıyor -

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

Uyarı görünüşe göre Jenkins Job'umuzun başarısız olarak işaretlemesine neden oluyor, bu yüzden biz sadece aynısından kurtulmaya çalışıyoruz.

Bunu zaten kontrol ettim https://stackoverflow.com/a/42938398/351903 Ama orada bahsedilenden farklı olarak, kurulumumda / node_modules / fserrors yok. Ayrıca benim package.json dosyam fserrors içermiyor. Aşağıdaki benim 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"
  }
}

Fsevents'i react-scripts'in package.json dosyasında görebiliyorum (ki bu, benim package.json'umun devDependencies ürünü altında tanımlanmıştır) 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"
}

Güncelleme

Npm install komutunu çalıştırmayı ve önceki komutun çıkış durumunu almayı denedim. Uyarılara rağmen 0 anlamında başarı gösterdi. Yani bu yüzden Jenkins işi sıkışmış gibi görünmüyor. Ancak yine de bu uyarıdan kurtulmanın bir yolunu bulmaya çalışıyoruz çünkü bu bizim işletim sistemimizle alakalı değil.


Bunu deneyin, benim için çalıştı stackoverflow.com/a/58178041/4088675 Bir seçenek olarak fsevents eklemeaDependecy
Oluwaloni Richard

Yanıtlar:


71

fseventsmac ve diğer linux sistemlerinde farklı şekilde ele alınır. Linux sistemi görmezden gelir, fseventsoysa mac onu yükler. Yukarıdaki hata mesajı, fseventsbunun isteğe bağlı olduğunu ve yükleme sürecinde atlandığını belirttiğinden.

npm install --no-optionalYukarıdaki uyarıyı önlemek için linux sisteminde command çalıştırabilirsiniz .

Daha fazla bilgi

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

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


16
Ben sadece npm kurulumunu çalıştırmayı denedim - etkinlik için uyarılan avoir için isteğe bağlı değil. Yine de işe yaramadı :(
Deunz

1
ne yazık ki bu, npm'deki bir hata nedeniyle başka sorunlara yol açar. Bkz: github.com/npm/npm/issues/19877#issuecomment-368981968
TigerBear

3
TigerBear'ın dediği gibi, "isteğe bağlı olmayan" gerçekten çok kötü bir fikirdir. Uyarıyı göz ardı etmek genellikle normaldir. Ayrıca şunu da kullanabilirsiniz npm install -f: github.com/angular/angular/issues/13935
FoggyDay

4
Uyarıyı göstermemek için isteğe bağlı bir bağımlılık olarak nasıl doğrudan kaldırabilirim?
Aaron Franke

Benim için reklamı yapıldığı gibi çalışmadı. Ubuntu 19.04 Ocak 2020
Michael Durrant

37
npm i -f

Bu konudaki bazı yorumları yeniden yayınlamak istiyorum , burada sorunla ilgili bilgi edinebilirsiniz ve sorun çözüldü .

Bu tam olarak Angular'ın sorunu. Geçerli package.json, isteğe bağlı bağımlılıklar değil, devDependency'ler olarak fsevent'i gerektirir. Bu, OSX kullanıcısı olmayanlar için bir sorun olabilir.

Ara sıra

Package.json npm'den kaldırsanız bile, başka bir modülde eş deposu olduğu için i hala başarısız oluyor.

Yani

npm-shrinkwrap.json hala oradaysa lütfen kaldırın veya npm i -f'yi deneyin


2
Ne yapar npm i -f?
Süper Jade

2
Eşdeğeri bir iplik var mı npm i -f?
Süper Jade

37

Bu uyarıyı gizlemek istiyorsanız, sadece fsevents'i isteğe bağlı bir bağımlılık olarak yüklemeniz gerekir. Sadece yürütün:

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

..Ve uyarı artık can sıkıcı olmayacak.


9
Bu, Mac olmayan kullanıcılar için bir seçenek değildir.
Matthew

3
mac olmayan başarısız
naringas

2
OP dedi ki: "... bu uyarıdan kurtulmanın bir yolunu bulmaya çalışıyorum çünkü bu bizim işletim sistemimizle alakalı değil" ve önerdiğiniz çözüm işe yaramıyor.
matthiku

1
"-F" seçeneğini eklediniz mi?
Juninho Cruz

11

package.jsonbir optionalDependenciesanahtarla sayılır . İsteğe Bağlı Bağımlılıklar için NPM .

Ekleyebilir fseventsBu nesneye ve kendinizi MacOS farklı bir platformda paket kurmak bulursanız, fseventsya atlanır iplik veya NPM .

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

Kurulum günlüğünde aşağıdaki gibi bir mesaj bulacaksınız:

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.

Umarım yardımcı olur!


JSON ile uğraşmaktan hoşlanmıyorsanız, şu komutu çalıştırın: npm i fsevents @ latest -f --save-optional, bu JSON'u sizin için dosyaya ekleyecektir.
Erich Wehrmann

6

Aynı sorunu buldum ve yukarıda ve github'da belirtilen tüm çözümü denedim. Bazıları yalnızca yerel depoda çalışıyor, PR'mi travic-CI veya Pipelines ile uzak depolara ittiğimde bana aynı hatayı geri veriyor. Sonunda aşağıdaki npm komutunu kullanarak düzelttim.

npm audit fix --force


Sorun şu ki, herkes sahip değil npm-auditve onunla yüklemeye çalıştığımda npm install npm-auditbüyük ölçüde başarısız oluyor ...
Serj Sagan

Bu benim için işe yaradı, burada fsevents'ın burada birkaç yanıtla açıklandığı gibi isteğe bağlı bir bağımlılık olarak kurulmasını sağladım.
Safa Alai

3

MacOS kullanmama rağmen aynı sorunu yaşadım. Sorun bir tür hata. Komutları tekrar tekrar çalıştırarak bu sorunu çözdüm,

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

Bir seferinde işe yaramadı, ancak önbelleği defalarca temizlediğimde ve npm'yi kaldırıp npm'yi yeniden yükledikten sonra hata gitti. Angular 8 kullanıyorum ve bu sorun yaygın



1

Kullanıyorum, Angular CLI: 8.1.2 Düğüm: 12.14.1 İşletim Sistemi: win32 x64

Garip bir şekilde, bu bana yardımcı oldu

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

1
Bu npm cache clean --force bana tam olarak aynı konuda değil, fsevents bağımlılıkları ile ilgili başka bir konuda yardımcı oldu.
josh

1

--no-optionalHer seferinde kullanmak yerine, onu npm veya iplik yapılandırmasına ekleyebiliriz.

Yarn için isteğe bağlı olmayan varsayılan bir yapılandırma vardır, bu nedenle bunu düzenleyebiliriz:

yarn config set ignore-optional true

Npm için varsayılan yapılandırma kümesi yoktur, bu nedenle bir tane oluşturabiliriz:

npm config set ignore-optional true

0

Aynı hatayı aldım. Benim durumumda, ikinci bir bilgisayardaki kodu düzenlemek için eşlenmiş bir sürücü kullanıyordum, o bilgisayar Linux çalıştırıyordu. Tam olarak neden gulp-watch'un yüklemeden önce işletim sistemi uyumluluğuna dayandığından emin değilim (bunun güvenlik amaçları ile ilgisi olduğunu varsayıyorum). Esasen hata, işletim sisteminize ve düğüm modülünü çağıran işletim sistemine karşı kontrol etmektir, benim durumumda iki işletim sistemi aynı değildi, bu yüzden hata verdi. Senin hatana bakılırsa benimki ile aynı.

Hata

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

Nasıl düzelttim?

Doğrudan Linux bilgisayarına giriş yaptım ve koştum

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

Sonra kodlama ortamıma geri döndüm ve bundan sonra her şey yolundaydı.

Umarım yardımcı olur!


bunu kullan npm i fsevents@latest -f --save-optional
RAVI BANGKIT NUR ZIKRILLAH

-1

Evet, npm install --no-optional
Çevreyi kullan komutuyla birlikte çalışır :

  • iTerm2
  • macos vm ubuntu16 LTS'ye giriş yapın.

-1

Bu hatayı aldım, Linux sistemi (Ubuntu) ve çalıştırdığınızda bu olabilir:

npm yükleme

1) Proje yerel diskinizde / bilgisayarınızda yoksa, bilgisayarınıza kopyalayıp tekrar deneyin. Böylece, klasöre erişim izni alırsınız (Erişim izninizin olduğundan emin olun).

2) Hala bazı uyarılar veya hatalar alıyorsanız, şunu çalıştırın:

npm denetim düzeltmesi

Bu, bağımlılıklarınızdaki güvenlik açıklarını çözer ve çalıştırması kolay npm komutları ve daha fazla sorun giderme için öneriler sağlayarak bir güvenlik açığını gidermenize yardımcı olabilir.

Umarım yardımcı olur!


-1

PNPM'ye geçin: https://pnpm.js.org/

fseventsUyarılar (Linux'ta) gitti.

En son iplik (2.x) bile uyarıları gösterir.


Buradaki uyarının olmaması, büyük olasılıkla pnpm'nin bağımlılıkları önbelleğe alma biçiminden kaynaklanmaktadır. Muhtemelen hala bir kez uyarı alıyordunuz, ancak sonraki kullanımlar sadece sembolik bağlantılar oluşturmak ve uyarıyı veren yüklemeyi atlamak olacaktır. Eğer pnpm önbelleğinizi temizleyecek olsaydınız, muhtemelen uyarıları yeniden alırdınız. Her iki durumda da bu bir çözüm değil, "hastayı öldürerek tedavi etme" seçeneğidir.
erich2k8

@ erich2k8 Yanılıyorsunuz. Pnpm önbelleğini temizledim ve pnpm kurulumu sırasında uyarı görünmüyor.
KTCO

-2

Herhangi biri ionic cordova kurulumu için bu hatayı alırsa. sadece bu kodu npm install --no-optionalcmd'nizde kullanın. Ve sonra bu kodu çalıştırınnpm install -g ionic@latest cordova


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.