将模块从devDependencies移动到npm package.json中的依赖项

Ema*_*ami 116 npm package.json

是否有任何简短的命令将模块移动devDependencies到dependenciespackage.json中?

我发现自己总是这样做:

npm uninstall <module_name> --save-dev 
npm install <module_name> --save
Run Code Online (Sandbox Code Playgroud)

有没有更简短的方法?

Sid*_*Sid 137

如果你想做相反的事情(dependencies即将模块从中移动到devDependencies),只需:

npm install <module_name> --save-dev
Run Code Online (Sandbox Code Playgroud)

或速记:

npm i <module_name> -D
Run Code Online (Sandbox Code Playgroud)

速记从移动devDependencies到dependencies(产品):

npm i <module_name> -P
Run Code Online (Sandbox Code Playgroud)

  • 适合我,v5.6 (5认同)
  • 看起来它也在运行6.0.0 (4认同)
  • 简写 `npm i module-example -D` 也可以从 prod 转移到 dev,以及 `npm i module-example -P` 从 dev 转移到 prod 依赖项 (3认同)
  • 如果您使用yarn,则需要首先使用“yarn remove &lt;module_name&gt;”从依赖项中删除它,然后使用“yarn add &lt;module_name&gt; --dev”将其重新添加到devDependencies中 (3认同)

Fra*_*uts 126

是! 将模块移动devDependencies到dependencies:

npm install <module_name> --save-prod


yoh*_*aiz 13

在纱线中:

将模块从devDependencies移至dependencies:

yarn remove <module_name> --dev&yarn add <module_name> 
Run Code Online (Sandbox Code Playgroud)

将模块从dependencies移至devDependencies:

yarn remove <module_name>&yarn add <module_name> --dev
Run Code Online (Sandbox Code Playgroud)

如注释中所述,该命令实际上删除了该模块,然后将其重新安装在新位置。

  • 这不会动,这只是删除软件包并重新安装 (5认同)
  • 这真的对吗?在不删除和重新添加的情况下,纱线是否无法将事物从“依赖项”移动到“开发依赖项”? (3认同)
  • 请注意,这可能会更改包的版本! (3认同)
  • @seeker_of_bacon 这里后台没有任何运行。您可能会将“&amp;&amp;”与“&amp;”混淆。 (2认同)

eed*_*rah 11

使用npm或yarn命令的问题在于,重新添加的版本可能与当前使用的版本不同。如果这是你想要的-两者的举动和升级-然后继续使用接受的答案。

如果没有,只需手动编辑您package.json将线从devDependencies对象移动到dependencies对象(如有必要,创建它)。你也可以去另一个方向。

锁定文件不包含任何关于产品是生产依赖还是开发依赖的信息,因此不需要更新。您可以在之后执行npm/yarn install以修复锁定文件中的任何标志。

  • 虽然“package-lock.json”中只有一个“dependency”顶级部分,但每个条目都可能有一个“dev”标志来指示它是开发依赖项还是传递依赖项。请参阅 https://docs.npmjs.com/files/package-lock.json#dev “如果 [dev 为] true,则此依赖项要么是顶级模块的仅开发依赖项,要么是一个传递依赖项。这是对于既是顶层开发依赖项又是顶层非开发依赖项的传递依赖项的依赖项,则为 false。” (2认同)

Ahm*_*oud 6

使用 npm install 的问题是您最终会得到更新的版本。对我有用的是:

  1. 将它们移至预期部分(开发或产品)
  2. 从node_modules文件夹中删除它们
  3. 执行npm install

这使所有版本保持完整。