0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Firebase】`Package subpath './lib/auth/auth' is not defined by "exports" in...`というエラーが発生した場合の対処法

Posted at

Firebase Functionsのエミュレーターにてエラーが発生

Firebase FunctionsのエミュレーターにReact Native側から接続して関数を呼び出そうとした時に、not-foundというエラーが出力されていました。原因を探ろうとfirebase-debug.logを確認してみると、次のようなログが記録されていました。

[error] ⬢  functions: Failed to load function definition from source: FirebaseError: Error occurred while parsing your function triggers.

Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './lib/auth/auth' is not defined by "exports" in /Users/***/**/node_modules/firebase-admin/package.json
    at new NodeError (node:internal/errors:371:5)
    at throwExportsNotFound (node:internal/modules/esm/resolve:440:9)
    at packageExportsResolve (node:internal/modules/esm/resolve:692:3)
    at resolveExports (node:internal/modules/cjs/loader:482:36)
    at Function.Module._findPath (node:internal/modules/cjs/loader:522:31)
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:919:27)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/Users/**/*.js:16:16) {"metadata":{"emulator":{"name":"functions"},"message":"Failed to load function definition from source: FirebaseError: Error occurred while parsing your function triggers.\n\nError [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './lib/auth/auth' is not defined by \"exports\"... 

エラーの原因

ログを確認して調べてみると、原因は次のインポートらしいことが判明しました。

import { Auth } from 'firebase-admin/lib/auth/auth';

問題の解決方法

上記の部分を次の内容に取り替えてみました。

import type { auth } from 'firebase-admin';

そして、auth.Authを使ってAuthクラスを参照するように修正しました。

private auth: auth.Auth | undefined = undefined;

constructor(@inject('Auth') auth: auth.Auth) {
    this.auth = auth;
}

そして、ビルドされたファイルが格納されるlibディレクトリを削除した後に、再ビルドを行いました。

yarn build && GOOGLE_APPLICATION_CREDENTIALS='./secrets/google-services.json' firebase emulators:start

結果、この問題については解決することができました。(この直後、これとは関係のないエラーで悩まされることにはなりましたが・・・)

参考にした記事

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?