問題タブ [nexe]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - nodejs 実行可能ファイルに npm pkg を使用して exe をビルド中にエラーが発生しました
nodejs の実行可能ファイルの実行中に以下のエラーが発生します。package.json にアセットを含めようとしましたが、それでもエラーは消えません。
**エラー: uncaughtException: ファイル 'D:**\app\application_properties\CurrentEnv\application.properties' は、コンパイル段階で実行可能ファイルに含まれていませんでした。アセットまたはスクリプトとして追加して再コンパイルしてください。**
パッケージ.json
node.js - Windows サービスとして実行されている node.js アプリで max-old-space-size を増やす
私は node.js に比較的慣れていませんが、node.js やその依存関係をインストールする必要なく、スタンドアロン アプリケーションとしてデプロイされるように設計されたアプリを構築しました。
特定の、簡単に再現できないインスタンスで、アプリがクラッシュし、「Javascript ヒープがメモリ不足です」というエラーが発生するという問題が発生しています。
根本原因をデバッグしている間、ヒープ サイズを増やそうとしています。node-windows を使用してアプリケーションをサービスとして実行し、nexe をビルドしています。他のフォーラムの回答で見つけた、次のような多くのことを試しました。
- Python 2x & 3x のさまざまなバージョン
- ビルド スクリプトで "build": "nexe --enableNodeCli --build" を実行し、ショートカット ターゲットに --max-old-space-size=4096 を追加します。
- Node.js のアップグレード (および最終的にはロールバック)
- --max-old-space-size=4096 を Windows 環境変数の NODE_OPTIONS に追加
..とりわけ。これらは、提案されている最も一般的なソリューションのようです。
これらのソリューションの一部では、ビルドを実行できませんでした。その他は動作しますが、メモリは約 1.5 GB のままです。
誰かがこの問題に遭遇し、アプリのヒープメモリを増やす解決策を見つけました:
- ノードのない環境で実行
- Windows サービスとして実行
……
- OS: Windows10
- ノード: 10.22.1 (12.19.0 も試しました)
- Nexe: 3.3.7
- Python: 2.7.17 (2.7.16、2.7.14、3.7、3.8 & 3.9 も試しました)
……
編集: nodeOptions: ['--max-old-space-size=4096'] をサービス オプションに追加しようとしましたが、v8.getHeapStatistics からサイズが約 1.42 GB であるというフィードバックが得られます。これまでは index.js 内でサービスを作成し、それを実行可能ファイルにビルドしてきましたが (node.js をインストールする必要がないようにするため)、それを独自のスクリプトに分離し、コンソールで実行しました - 同じ結果です。
コードは次のとおりです。