ノードモジュールをインストールしようとしているElectronアプリがあります。 npm install
を実行すると、node_modules
フォルダーが作成されますが、すべてのモジュールは.staging
というサブフォルダーに入ります。また、各モジュールには-xxxxx
が追加されます。xはランダムな英数字です。
私が作成した他のElectronアプリはこれを行ったことがない。すべてのノードモジュールはnode_modules
のルートにあり、-xxxxx
が追加されていません。
なぜこれが起こっているのでしょうか?
これは、モジュールがダウンロードおよびインストールされるまで一時的にのみ発生します。 Nodeはこれを行うようであるため、インストールするすべてのモジュールから共通のサブモジュールをまとめて、ノードモジュールフォルダー(主にWindowsユーザー用)をより適切に構成できます。
Npmのインストールが完了した後にこれが発生した場合、ノードのインストールに問題があるか、インストールに失敗した可能性があります。
私も同じ問題に直面していたので、以下の手順を試しました。
以下のコマンドを使用してインストールしてみてください(オープンネットワークにある必要があります)
npm install
注:-「.staging」は、これらの依存関係がダウンロードされるため、一時的に「.staging」フォルダーの下にすべての依存関係を保持することを意味します。すべてが適切にダウンロードされると、node_modulesの下にのみ表示されます。
これがうまくいくことを願っています。
私は同様の問題に直面し、上記の答えを試してみましたが、うまくいきませんでした。私はこの問題を解決するために以下の手順に従いました-
1 .npm audit
Npm auditを実行して、インストールする保留中のパッケージのリストを取得しました。
2 .npm i packagename
リストから1つまたは2つのパッケージを1つずつインストールした後、使用しました
3 .npm install
この時点で、インストールは遅延やハングアップなしでスムーズに進みました。同様の問題に直面しているこのヘルプを願っています:)。
Package.lock.jsonを削除します
Node_modulesを削除します
npm update
を実行します
システムに2つのバージョンのノードがインストールされていました。 nodejs v4.2
およびnode v8.6
これは競合する可能性があると考えたため、次のコマンドでnodejs v4.2
を削除しました。
Sudo apt-get remove nodejs
パスをリンクしました
Sudo ln -s /usr/bin/node /usr/bin/nodejs
もう一度npm install
を実行しましたが、修正されました