質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
npm

npmは、Node Packaged Modulesの略。Node.jsのライブラリ・パッケージを管理できるツールです。様々なモジュールを簡単にインストールでき、自分でモジュールを作成し公開する際にも使用できます。

React Native

React Nativeは、ネイティブモバイルアプリ(iOS/Android)を作成できるJavaScriptフレームワークです。Reactと同じ設計のため、宣言的なコンポーネントでリッチなUIを開発することが可能です。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Q&A

解決済

1回答

2850閲覧

【ReactNative】Failed to construct transforme でビルドできない

takk_014

総合スコア53

npm

npmは、Node Packaged Modulesの略。Node.jsのライブラリ・パッケージを管理できるツールです。様々なモジュールを簡単にインストールでき、自分でモジュールを作成し公開する際にも使用できます。

React Native

React Nativeは、ネイティブモバイルアプリ(iOS/Android)を作成できるJavaScriptフレームワークです。Reactと同じ設計のため、宣言的なコンポーネントでリッチなUIを開発することが可能です。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

0グッド

0クリップ

投稿2021/11/02 05:55

編集2021/11/02 06:31

ReactNativeで作ったアプリをXcodeからリリースビルドしたいです。
しかしリリースビルドを実行すると「Failed to construct transforme」というエラーが発生してできないです。
通常のビルドは成功し、アプリを正常に起動させることができます。
こちらがエラーの詳細な内容です。

Error

1Failed to construct transformer: Error: error:0308010C:digital envelope routines::unsupported 2 at new Hash (node:internal/crypto/hash:67:19) 3 at Object.createHash (node:crypto:130:10) 4 at stableHash (.../node_modules/metro-cache/src/stableHash.js:19:8) 5 at Object.getCacheKey (.../node_modules/metro-transform-worker/src/index.js:647:7) 6 at getTransformCacheKey (.../node_modules/metro/src/DeltaBundler/getTransformCacheKey.js:32:19) 7 at new Transformer (.../node_modules/metro/src/DeltaBundler/Transformer.js:180:28) 8 at /.../node_modules/metro/src/Bundler.js:58:29 9 at processTicksAndRejections (node:internal/process/task_queues:96:5) { 10 opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ], 11 library: 'digital envelope routines', 12 reason: 'unsupported', 13 code: 'ERR_OSSL_EVP_UNSUPPORTED' 14} 15error Cannot read properties of undefined (reading 'transformFile'). 16TypeError: Cannot read properties of undefined (reading 'transformFile') 17 at .../node_modules/metro/src/Bundler.js:95:34 18 at Generator.next (<anonymous>) 19 at asyncGeneratorStep (.../node_modules/metro/src/Bundler.js:14:24) 20 at _next (.../node_modules/metro/src/Bundler.js:36:9) 21 at processTicksAndRejections (node:internal/process/task_queues:96:5) 22info Run CLI with --verbose flag for more details. 23Command PhaseScriptExecution failed with a nonzero exit code

スタックオーバーフローに書かれていることは殆ど試しましたがダメでした。
・Nodeを14.18.1にダウングレード。
・Nodeを16.13.0 にダウングレード。
・node_modulesとpackage-lock.jsonを削除して再インストール。
・Clean Build Folder や Xcodeのキャッシュの削除。
・package.jsonに「"start": "react-scripts --openssl-legacy-provider start"」を入れる。
・「export NODE_OPTIONS=--openssl-legacy-provider」コマンドの実行。
・「npm create react-app --template typescript foo --use-npm 」コマンドの実行。
・「webPackconfig.js」のoutputに「hashFunction: "xxhash64"」の追加。
・全て削除して再クローンしてビルド。
・XcodeやPCの再起動。

大抵の人はNodeをダウングレードすることで解決しているようですが私はなぜかうまく行かないです。
ダウングレードはこちらを参考にダウングレードしています。

環境
MacOS BigSur 11.6
react-native": "0.64.1"
Node: v14.18.1
Xcode13.1

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

コマンドラインで「npm list -g --depth 0」を実行してモジュールのバージョンの依存関係のエラーを表示させて確認しました。
他のモジュールの古いバージョンに依存しているモジュールを最新にアップデートしたり、逆に最新にしすぎたモジュールを少しダウングレードしたりなどして解決しました。
そのモジュール名で検索して公式ページを開いてその中にあるコマンド(npm i モジュール名)を実行すればアップデートできます。

投稿2021/11/08 00:31

takk_014

総合スコア53

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問