[解決済み] node_modules構造が深いNode.jsアプリケーションをWindowsにデプロイする方法とは?
2023-03-15 23:15:20
質問
どうやら、いくつかのNode.jsモジュールには、以下のような問題があるようです。
深い
フォルダの階層が
は、Windows のコピーコマンド(または PowerShell の
Copy-Item
は、パスが 250 文字を超えると、悪名高い "path too long" エラーを発生させます。
例えば、これは1つのNodeモジュールが作成できるフォルダ階層です。
node_modules\nodemailer\node_modules\simplesmtp\node_modules\
xoauth2\node_modules\request\node_modules\form-data\node_modules\
combined-stream\node_modules\delayed-stream\...
非常識なようですが、Nodeモジュールでは現実的です。
私たちはデプロイ時にコピーペーストを使用する必要があり (私たちは Git デプロイがオプションである Heroku のような "clever" ターゲットプラットフォームを使用していません)、これは Windows での深刻な制限です。
をコンパクトにする npm コマンドか何かはないのでしょうか?
node_modules
フォルダをコンパクトにするとか、実行時に実際に必要なものだけをインクルードするとか、そういうことはできないのでしょうか?
(Nodeモジュールは通常
test
フォルダなどがあります)。それを回避するための他のアイデアはありますか?Windowsを使用しないという選択肢は残念ながらありません :)
どのように解決するのですか?
npm v3(先日リリース)では、依存関係をフラットにすることでこの問題を解決しています。リリースノートは
https://github.com/npm/npm/releases/tag/v3.0.0
の下にある
flat flat
セクションの下にあります。
そして、この問題の最後のコメント https://github.com/npm/npm/issues/3697
関連
-
[解決済み】npm 5で作成されたpackage-lock.jsonファイルはコミットするのでしょうか?
-
[解決済み] Node.jsのプログラムにコマンドライン引数を渡すにはどうしたらいいですか?
-
[解決済み] Windowsにpipをインストールするにはどうしたらいいですか?
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] Node.jsで終了する方法
-
[解決済み] Node.jsアプリケーションをデバッグするにはどうすればよいですか?
-
[解決済み] Node.jsを完全にアンインストールして、最初から再インストールする方法 (Mac OS X)
-
[解決済み] Node.jsのnpmモジュールをアンインストールするにはどうすればよいですか?
-
[解決済み] Node.js/Windowsのエラーです。ENOENT, stat 'C:\Users﹑RTAppData﹑Roaming﹑npm'.
-
[解決済み】WindowsでTCPまたはUDPポートをリッスンしているプロセスを見つけるにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Node.js getaddrinfo ENOTFOUND
-
[解決済み】「npm install」と「npm rebuild」の違いとは?
-
[解決済み】AWS lambda function エラー - モジュール 'index' をインポートできません。エラー
-
[解決済み] bodyParser は非推奨です express 4
-
[解決済み] nodejs - http.requestでresponse.writeを使用する場合、第一引数は文字列またはBufferでなければなりません。
-
[解決済み] S3 Bucket に何かを送信しようとすると、AWS Missing credentials が表示される (Node.js)
-
[解決済み] エラーメッセージ MongoError: bad auth URI 文字列で認証に失敗しました。
-
[解決済み] エラーです。Ionic使用中にモジュール '../lib/utils/unsupported.js' が見つかりません。
-
[解決済み] npm not able to find a fileに関連するエラーは何が原因でしょうか?node_modules サブフォルダ内にコンテンツがありません。なぜでしょうか?
-
[解決済み] npmインストール時にpackage.jsonにコメントを追加するにはどうすればよいですか?