Même si le module est installé et qu'il existe, Flow ne peut pas le résoudre et génère une erreur . Voir ci-dessous: 1) À l'intérieur de bash, j'ai exécuté flow
et une erreur est générée. Ce module est introuvable.
user@pc:~/code/project$ flow
Error ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ src/functionalities/Growth/index.js:3:25
Cannot resolve module react-redux.
1│ // @flow
2│ import React from "react"
3│ import { connect } from "react-redux"
4│
5│ type Props = {
6│ children: Function
Found 1 error
2) La commande ci-dessous vérifie si le répertoire existe et il le fait
user@pc:~/code/project$ ls node_modules | grep react-redux
react-redux
J'ai essayé de supprimer et de réinstaller le répertoire node_modules
et le fichier yarn.lock
.
Les versions doivent correspondre:
flow version
Flow, a static type checker for JavaScript, version 0.77.0
.flowconfig:
[version]
0.77.0
C'est très probablement un bug avec Flow, j'ai également soumis le problème.
Vous avez deux options:
flow-typed
pour trouver le type de dépendance file/stub it for youJ'utilise l'option 2 mais il est agréable de savoir ce qui se passe en dessous
Dans .flowconfig
, ajoutez un répertoire sous [libs]
,
...
[libs]
/type-def-libs
...
Maintenant, créez ce répertoire à la racine de votre projet et un fichier /type-def-libs/react-redux
qui contient,
declare module 'react-redux' {
declare module.exports: any;
}
flow-typed
, si vous utilisez le fil yarn add -D flow-typed
yarn flow-typed install
Flow recherche la définition type du module que vous importez. Ainsi, alors que le module existe dans /node_modules
, ce fichier n’a pas de fichier de définition de type intégré dans son code.
J'ai eu le même problème que vous.
Je l'ai résolu en utilisant flow-typed
J'ai fait ce qui suit:
flow-typed
globalement. exemple: $ npm install -g flow-typed
$ flow-typed install [email protected]
• Searching for 1 libdefs...
• flow-typed cache not found, fetching from GitHub...
• Installing 1 libDefs...
• react-redux_v5.x.x.js
└> ./flow-typed/npm/react-redux_v5.x.x.js
react-redux
Vous devriez le voir si l'installation a réussi.$ npm run flow
dans votre projet. L'erreur avec react-redux
ne sera plus là.J'ai vérifié mon fichier package.json
et j'ai remarqué que react-redux
était manquant. Je l'ai ajouté manuellement aux dépendances "react-redux": "x.x.x"
et ai exécuté npm install
par la suite. Notez que le numéro de version doit être compatible avec les autres modules.
Vérifiez votre .flowconfig
et supprimez <PROJECT_ROOT>/node_modules/.*
dans le champ [ignore]
(au cas où vous l’auriez là).
Merci à @meloseven qui a résolu le problème ici .