web-dev-qa-db-ja.com

フロー:エラーがスローされます

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

enter image description here

これはFlowのバグである可能性が非常に高いため、私も問題を提出しました。

23
Kunok

修正方法

次の2つのオプションがあります。

  1. 依存関係を手作業でスタブする
  2. flow-typedを持ち込んで、依存関係タイプのファイルを見つけて、それをスタブします

私はオプション2を使用しますが、その下で何が起こっているのかを知ってうれしいです

オプション1

.flowconfigで、[libs]の下にディレクトリを追加し、

...
[libs]
/type-def-libs
...

ここで、プロジェクトルートにそのディレクトリを作成し、ファイル/type-def-libs/react-reduxを作成します。

declare module 'react-redux' {
  declare module.exports: any;
}

オプション2

  • flow-typedをインストールします(yarnを使用する場合yarn add -D flow-typed
    • 可能な限りプロジェクトにローカルにインストールすることを好みます
  • yarn flow-typed install を実行します
    • これにより、見つかったモジュールのタイプ定義ファイルがインストールされ、見つからないモジュールはスタブ化されます。これは、オプション1で行ったことと同様です。

このエラーが発生する理由

フローは、インポートするモジュールのtype定義を探しています。したがって、モジュールは/node_modulesに存在しますが、そのモジュールにはコードにチェックインされた型定義ファイルがありません。

35
cogell

私はあなたと同じ問題を抱えていました。

enter image description here

flow-typed を使用して解決しました

私は次のことをしました:

  1. flow-typedをグローバルにインストールします。例:$ npm install -g flow-typed
  2. 次に、プロジェクトのルートフォルダー内で$ flow-typed install [email protected]を実行します enter image description here• 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インストールが成功した場合、これが表示されるはずです。
  3. その後、プロジェクトで$ npm run flowをもう一度実行してみてください。 react-reduxのエラーは発生しなくなりました。
4
zulucoda

package.jsonファイルを確認したところ、react-reduxが欠落していることに気付きました。手動で依存関係"react-redux": "x.x.x"に追加し、その後npm installを実行しました。バージョン番号は他のモジュールと互換性がある必要があることに注意してください。

0
Ivan_ug

代替ソリューション(場合によって)

.flowconfigを確認して、<PROJECT_ROOT>/node_modules/.*フィールドの下にある[ignore]を削除します(ある場合)。


それを解決した@melosevenに感謝します ここ

0
exmaxx