[解決済み] NPM 7 ワークスペース - ワークスペースに新しいパッケージをインストールする方法は?
2022-03-09 14:18:46
質問
もし NPM 7ワークスペース このように
root
- submodule0
- submodule1
- submodule2
で、submodule0ディレクトリに移動して、以下を実行します。
npm i somepackage
を実行すると、submodule0 ディレクトリに新しい package-lock.json を作成し、すべての依存関係をそこにインストールすることによって、ワークスペースを "break" しているようです。 言い換えれば、ワークスペースを作成する前に存在していた古い動作を行うだけです。
私は、次のようなコマンドを期待していました。
レルナ
からサブモジュール 0 に新しいパッケージをインストールすることができます。
ルート
. みたいな感じ。
npm i somepackage --scope submodule0
今のところ、唯一の回避策は、submodule0 の package.json を編集して、その中に
somepackage
を手作業で行っています。 その後
npm i
をルートから取得します。 ルートで1行入力するのとは対照的に、@最新バージョンを調べたり、サブディレクトリに移動したり、package.jsonを開いたりする必要があるため、明らかに理想的ではありません。
解決方法は?
NPM v7.14.0以上であれば、上記のmattwadの回答を参照してください。
元の回答
提案された内容にはあまり納得がいきませんでしたが、それらをすべて組み合わせて、依存関係のないnpmスクリプトで使用するようにしました。
{
"add": "npm install --package-lock-only --no-package-lock --prefix",
"postadd": "npm install"
}
これは、次のように使うことができます。
npm run add -- submodule0 somepackage
関連
-
[解決済み】npm 5で作成されたpackage-lock.jsonファイルはコミットするのでしょうか?
-
[解決済み] エラーです。Expressでビューの検索に失敗しました
-
[解決済み] npm installの-saveオプションは何ですか?
-
[解決済み] インストールされているnpmパッケージのバージョンを検索する
-
[解決済み] sudoを使わずにnpmがエラーを投げるのを修正する方法
-
[解決済み] Node.jsのnpmモジュールをアンインストールするにはどうすればよいですか?
-
[解決済み] npmはどこにパッケージをインストールするのですか?
-
[解決済み] NPMパッケージの以前の正確なバージョンをインストールするにはどうすればよいですか?
-
[解決済み] GitHubからnpmパッケージを直接インストールする方法
-
[解決済み] なぜ "npm install" は package-lock.json を書き換えてしまうのですか?
最新
-
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
-
[解決済み] 非推奨パッケージに関するNPM警告メッセージ
-
[解決済み】"npm update -g" の後に "Cannot find module 'npmlog'" というエラーが発生する。
-
[解決済み】Express.js req.bodyが未定義です。
-
[解決済み】ENOENT, そのようなファイルまたはディレクトリがありません。
-
[解決済み] NodeJsのSequelizeでautoIncrementはどのように動作するのですか?
-
[解決済み] node.jsのセットアップウィザードが途中で終了してしまう
-
[解決済み] "app.use(express.cookieSession())" に "secret" オプションが必要です。
-
[解決済み] npm not able to find a fileに関連するエラーは何が原因でしょうか?node_modules サブフォルダ内にコンテンツがありません。なぜでしょうか?
-
[解決済み] ノードのバージョンを管理するためのnまたはnvm - 各バージョンのグローバルモジュールを保持することは良いアイデアですか?