Thoモジュールがインストールされて存在している場合でも、Flowはそれを解決できず、エラーをスローします。以下を参照してください:1)bash内でflow
を実行しましたが、モジュールが見つからないというエラーがスローされます
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)以下のコマンドは、ディレクトリが存在するかどうかを確認します
user@pc:~/code/project$ ls node_modules | grep react-redux
react-redux
node_modules
ディレクトリとyarn.lock
ファイルの両方を削除して再インストールしようとしました。
バージョンは一致している必要があります:
flow version
Flow, a static type checker for JavaScript, version 0.77.0
.flowconfig:
[version]
0.77.0
これはFlowのバグである可能性が非常に高いため、私も問題を提出しました。
次の2つのオプションがあります。
flow-typed
を持ち込んで、依存関係タイプのファイルを見つけて、それをスタブします私はオプション2を使用しますが、その下で何が起こっているのかを知ってうれしいです
.flowconfig
で、[libs]
の下にディレクトリを追加し、
...
[libs]
/type-def-libs
...
ここで、プロジェクトルートにそのディレクトリを作成し、ファイル/type-def-libs/react-redux
を作成します。
declare module 'react-redux' {
declare module.exports: any;
}
flow-typed
をインストールします(yarnを使用する場合yarn add -D flow-typed
)yarn flow-typed install
を実行しますフローは、インポートするモジュールのtype定義を探しています。したがって、モジュールは/node_modules
に存在しますが、そのモジュールにはコードにチェックインされた型定義ファイルがありません。
私はあなたと同じ問題を抱えていました。
flow-typed
を使用して解決しました
私は次のことをしました:
flow-typed
をグローバルにインストールします。例:$ 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
インストールが成功した場合、これが表示されるはずです。$ npm run flow
をもう一度実行してみてください。 react-redux
のエラーは発生しなくなりました。package.json
ファイルを確認したところ、react-redux
が欠落していることに気付きました。手動で依存関係"react-redux": "x.x.x"
に追加し、その後npm install
を実行しました。バージョン番号は他のモジュールと互換性がある必要があることに注意してください。
.flowconfig
を確認して、<PROJECT_ROOT>/node_modules/.*
フィールドの下にある[ignore]
を削除します(ある場合)。
それを解決した@melosevenに感謝します ここ 。