5
votes

Pourquoi l'erreur «Watchman crawl failed» dans React-Native immédiatement après la mise à jour vers macOS Catalina?

Essayer d'exécuter react-native run-ios ou de créer un projet RN à partir de xcode, dès que le bundler de métro démarre, cette erreur apparaît dans le terminal:

Loading dependency graph...jest-haste-map: Watchman crawl failed. Retrying once with node crawler.
  Usually this happens when watchman isn't running. Create an empty `.watchmanconfig` file in your project's root folder or initialize a git or hg repository in your project.
  Error: Watchman error: resolve_projpath: path `/Users/vorousjames/Desktop/Development/TicTacWHOA/app/TicTacWHOA`: open: /Users/vorousjames/Desktop/Development/TicTacWHOA/app/TicTacWHOA: Operation not permitted. Make sure watchman is running for this project. See https://facebook.github.io/watchman/docs/troubleshooting.html.
events.js:183
      throw er; // Unhandled 'error' event
  ^

Error: resolve_projpath: path `/Users/vorousjames/Desktop/Development/TicTacWHOA/app/TicTacWHOA`: open: /Users/vorousjames/Desktop/Development/TicTacWHOA/app/TicTacWHOA: Operation not permitted
    at BunserBuf.<anonymous> (/Users/vorousjames/Desktop/Development/TicTacWHOA/app/TicTacWHOA/node_modules/fb-watchman/index.js:95:23)
    at emitOne (events.js:116:13)
    at BunserBuf.emit (events.js:211:7)
    at BunserBuf.process (/Users/vorousjames/Desktop/Development/TicTacWHOA/app/TicTacWHOA/node_modules/bser/index.js:292:10)
    at /Users/vorousjames/Desktop/Development/TicTacWHOA/app/TicTacWHOA/node_modules/bser/index.js:247:12
    at _combinedTickCallback (internal/process/next_tick.js:131:7)
    at process._tickCallback (internal/process/next_tick.js:180:9)

Cela ne s'est jamais produit avant la mise à jour de Catalina. J'ai eu un fichier de configuration de watchman vide à la racine de mon projet depuis le début. Au premier démarrage après la mise à jour, il y avait une fenêtre contextuelle dans le terminal disant quelque chose sur les autorisations mais je ne me souviens pas exactement. il y a aussi une notice dans mon terminal dans le code de Visual Studio disant "le shell par défaut a changé en zsh" lance chsh -s /bin/zsh pour changer, donc je l'ai fait.

J'ai essayé:

  • watchman watch-del-all

  • watchman server-shutdown

  • ajout d'un accès complet au disque au terminal à partir des préférences système-> onglet confidentialité

  • npm uninstall watchman et npm uninstall -g watchman


1 commentaires

[Déplacé ceci dans une réponse, même s'il s'agit plutôt d'un problème de dépannage]


4 Réponses :


1
votes

Le message d'erreur indique un problème d'autorisation sur /Users/vorousjames/Desktop/Development/TicTacWHOA/app/TicTacWHOA .

Cependant, cela peut être quelque chose de génial avec launchd, alors je suggérerais:

$ watchman shutdown-server
$ launchctl unload ~/Library/LaunchAgents/com.github.facebook.watchman.plist
$ rm ~/Library/LaunchAgents/com.github.facebook.watchman.plist
$ watchman watch-project /Users/vorousjames/Desktop/Development/TicTacWHOA/app/TicTacWHOA

et voyez si cela fonctionne ou montre plus de contexte.

Liens croisés vers un problème dans notre tracker GitHub: https://github.com/facebook/watchman/issues/751


1 commentaires

résultat: Jamess-MacBook-Pro:TicTacWHOA vorousjames$ watchman watch-project /Users/vorousjames/Desktop/Development/TicTacWHOA/app/TicTac‌​WHOA { "version": "4.9.0", "error": "resolve_projpath: path / Users / vorousjames / Desktop / Development / TicTacWHOA / app / TicTac‌ WHOA : open: /Users/vorousjames/Desktop/Development/TicTacWHOA/app/TicTac‌​WHOA: Operation not permitted"}



8
votes

J'ai eu le même problème après la mise à jour vers Catalina. La réponse de Wez Furlong a fonctionné pour moi, mais j'ai dû fournir un accès complet au disque à watchman afin d'exécuter la commande watchman watch-project sans obtenir l'erreur "Operation not allowed". Dans le cadre du dépannage précédent, j'avais également fourni un accès complet au disque à Xcode et au terminal (je ne sais pas si cela a également contribué au correctif).

entrez la description de l'image ici


3 commentaires

Finalement, je n'ai jamais eu le fichier .plist que Wez Furlong a suggéré de supprimer, j'ai réinstallé watchman, donné un accès complet au disque à l'un des 13 programmes Watchman, exécuté le watchman watch-project comme suggéré ici et tout a fonctionné. Merci beaucoup


Où se trouve votre projet? (~ Ou ailleurs à l'intérieur ~)


C'est la bonne réponse. M'a aidé à résoudre les problèmes après la mise à niveau de Catalina. Préférences système -> Sécurité et confidentialité -> Confidentialité -> Accès complet au disque -> Activer le gardien



0
votes

Essayez de changer le répertoire de votre projet. J'avais le mien sur le bureau et recevais cette erreur, déplacé vers le dossier d'accueil et l'erreur a disparu


0 commentaires

8
votes

Pour modifier les autorisations de Watchman concernant le dossier Documents, c'est sous Sécurité et confidentialité -> fichiers et dossiers dans les préférences système

Mon problème a été résolu en vérifiant Watchman dans la liste sous le dossier Document


0 commentaires