モジュールをdevDependenciesからnpm package.jsonの依存関係に移動します


154

package.json からdevDependenciesにモジュールを移動するための短いコマンドはありますdependenciesか?

私はいつもこれをやっています:

npm uninstall <module_name> --save-dev 
npm install <module_name> --save

これへのより短いアプローチはありますか?

回答:



181

反対にしたい場合(つまり、モジュールをからdependenciesに移動する場合devDependencies)は、次のようにします。

npm install <module_name> --save-dev

または略記:

npm i <module_name> -D

devDependenciesからdependencies(prod)に移動するための省略表現:

npm i <module_name> -P

5
私のために働く、v5.6
Legends

1
省略表現npm i module-example -Dは、prodからdev npm i module-example -Pへの移動、およびdevからprodの依存関係への移動にも使用されます
Andriy

@Andriyありがとう、それについて考えていませんでした。答えを更新します!
シド

代わりに糸を使用している場合は、まず依存関係から糸を削除しyarn remove <module_name>、次にdevDependenciesに再度追加する必要がありますyarn add <module_name> --dev
Eugenio

16

糸で:

モジュールをからdevDependenciesに移動しますdependencies

yarn remove <module_name> --dev && yarn add <module_name> 

モジュールをからdependenciesに移動しますdevDependencies

yarn remove <module_name> && yarn add <module_name> --dev

コメントで述べたように、コマンドは実際にモジュールを削除し、新しい場所に再インストールします。


1
これは本当に正しいですか?物事を移動するための糸で方法はありませんdependenciesdevDependencies削除し、再追加せずには?
LondonRob

私が見つけた唯一の方法だ@LondonRob
yohaiz

21
これは移動していません。これは単にパッケージを削除して再インストールするだけです
Thanveer Shah

@seeker_of_baconここでは何もバックグラウンドで実行されていません。あなたは混乱するかもしれない&&&
rudolfbyker

3

プロジェクトにロックファイルまたはシュリンクラップファイルがまだない場合は、対応する行をに移動するだけpackage.jsonです。

(ロックファイルを使用しないことはお勧めしません)


3

npmまたはyarnコマンドの使用に関する問題は、再追加されたバージョンが、現在使用されいるバージョンとは異なるバージョンである可能性があることです。これがあなたの望むことなら- 移動とアップグレードの両方 -そして次に進んで、受け入れられた答えを使ってください。

そうでない場合は、手動でを編集してpackage.json、線をdevDependenciesオブジェクトからオブジェクトに移動しdependenciesます(必要に応じて作成します)。他の方向にも行くことができます。

ロックファイルには、prodまたはdevの依存関係に関する情報が含まれていないため、更新する必要はありません。npm/ を実行するyarn installと、ロックファイル内のフラグを修正できます。


にはdependencies最上位セクションが1つしかありませんがpackage-lock.json、各エントリdevには、それがdev依存関係であるか、1つの推移的依存関係であるかを示すフラグが含まれている可能性があります。docs.npmjs.com/files/package-lock.json#devを参照してください「[devが] trueの場合、この依存関係は最上位モジュールのみの開発依存関係か、1つの推移的依存関係のいずれかです。依存関係の場合、これはfalseです。トップレベルの開発依存と、トップレベルの非開発依存の推移的依存の両方です。」
rob3c

0

npm installを使用する際の問題は、更新されたバージョンになってしまうことです。私のために働いたのは:

  1. それらを意図した部分(dev、またはprod)に移動する
  2. それらをnode_modulesフォルダーから削除する
  3. 実行する npm install

これにより、すべてのバージョンがそのまま維持されました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.