[解決済み] ネストされたフォルダのためにnpm installを実行する最良の方法?
2022-04-15 23:50:20
質問
をインストールする最も正しい方法は何ですか?
npm packages
をネストしたサブフォルダで使用することはできますか?
my-app
/my-sub-module
package.json
package.json
を持たせるにはどうしたらよいでしょうか?
packages
で
/my-sub-module
が自動的にインストールされます。
npm install
で実行します。
my-app
?
解決方法は?
ネストしたサブフォルダに npm パッケージをインストールするコマンドを 1 つだけ実行したい場合は、スクリプトを
npm
とメイン
package.json
をルートディレクトリに配置します。このスクリプトはすべてのサブディレクトリを訪れ
npm install
.
以下は
.js
スクリプトを実行することで、望ましい結果を得ることができます。
var fs = require('fs');
var resolve = require('path').resolve;
var join = require('path').join;
var cp = require('child_process');
var os = require('os');
// get library path
var lib = resolve(__dirname, '../lib/');
fs.readdirSync(lib).forEach(function(mod) {
var modPath = join(lib, mod);
// ensure path has package.json
if (!fs.existsSync(join(modPath, 'package.json'))) {
return;
}
// npm binary based on OS
var npmCmd = os.platform().startsWith('win') ? 'npm.cmd' : 'npm';
// install folder
cp.spawn(npmCmd, ['i'], {
env: process.env,
cwd: modPath,
stdio: 'inherit'
});
})
の例であることに注意してください。
StrongLoop
の記事で、特にモジュール化された
node.js
プロジェクト構造(ネストしたコンポーネントや
package.json
ファイル)を作成します。
提案されているように、bashスクリプトで同じことを実現することも可能です。
EDIT: Windowsで動作するようにしました。
関連
-
[解決済み】MongooseでEnumを作成し使用する方法
-
[解決済み】npm 5で作成されたpackage-lock.jsonファイルはコミットするのでしょうか?
-
[解決済み] NodeJsのSequelizeでautoIncrementはどのように動作するのですか?
-
[解決済み] npm installの-saveオプションは何ですか?
-
[解決済み] インストールされているnpmパッケージのバージョンを検索する
-
[解決済み] npm package.jsonファイルのdependencies, devDependencies, peerDependenciesの違いは何ですか?
-
[解決済み] Node.jsを完全にアンインストールして、最初から再インストールする方法 (Mac OS X)
-
[解決済み] npmはどこにパッケージをインストールするのですか?
-
[解決済み] なぜ "npm install" は package-lock.json を書き換えてしまうのですか?
-
[解決済み] Node.jsのNPMモジュール(package.json)のdevDependenciesのインストールを防ぐにはどうすればよいですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] リソースの読み込みに失敗しました: net::ERR_CONNECTION_REFUSED : Nodejs
-
[解決済み] (node:63208) DeprecationWarning: collection.ensureIndex は非推奨です。代わりにcreateIndexesを使用してください [重複]。
-
[解決済み】Google spreadsheet api Requestに不十分な認証スコープがあった。
-
[解決済み】Heroku + node.jsのエラー(Webプロセスが起動後60秒以内に$PORTにバインドできなかった)。
-
[解決済み] EventEmitter のメモリリークの可能性が検出された
-
[解決済み] ブラウザで動作しているURLで「connect ETIMEDOUT」エラーが発生する原因は何ですか?
-
[解決済み] Npmエラー - Windows NT - 解決方法
-
[解決済み] http-server コマンドが見つかりません。
-
[解決済み] エラーメッセージ MongoError: bad auth URI 文字列で認証に失敗しました。
-
[解決済み] ノードマータ予期せぬフィールド