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

在npm package.json中将模块从依赖项移动到依赖项,npm,package.json,Npm,Package.json,在package.json中是否有将模块从devDependencies移动到dependencies的短命令 我发现自己总是这样做: npm uninstall <module_name> --save-dev npm install <module_name> --save npm卸载--保存开发 npm安装--保存 有没有一个较短的方法来解决这个问题?是的!要将模块从依赖项移动到依赖项: yarn remove <module_name> --de

在package.json中是否有将模块从
devDependencies
移动到
dependencies
的短命令

我发现自己总是这样做:

npm uninstall <module_name> --save-dev 
npm install <module_name> --save
npm卸载--保存开发
npm安装--保存

有没有一个较短的方法来解决这个问题?

是的!要将模块从
依赖项
移动到
依赖项

yarn remove <module_name> --dev && yarn add <module_name> 
npm安装--保存产品

如果您想做相反的事情(即将模块从
依赖项
移动到
开发依赖项
),只需执行以下操作:


如果您的项目还没有lockfile或shrinkwrap文件,只需移动
package.json
中的相应行即可


(我不建议不要使用锁文件)

纱线:

将模块从
devDependencies
移动到
dependencies

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

正如评论中所说,该命令实际上删除了模块并将其重新安装到新位置。

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

如果没有,只需手动编辑您的
包.json
即可将行从
devDependencies
对象移动到
依赖项
对象(必要时创建它)。你也可以去另一个方向


锁文件不包含任何关于是prod依赖项还是dev依赖项的信息,因此不需要更新。您可以在安装之后执行
npm
/
纱线安装
,以修复锁定文件中的任何标志。

使用npm安装的问题在于您最终会得到更新版本。对我起作用的是:

  • 将它们移动到预期零件(开发或产品)
  • 将它们从节点模块文件夹中删除
  • 执行npm安装

  • 这保持了所有版本的完整性。

    适用于我,v5.6shorthand
    npm i模块示例-D
    也适用于从产品移动到开发,以及
    npm i模块示例-p
    适用于从开发移动到产品dependencies@Andriy谢谢,我没想过。将更新答案!如果您使用的是Thread,则首先需要使用
    Thread remove
    将其从依赖项中删除,然后使用
    Thread add--dev
    将其重新添加到devdependency中,这应该是可接受的答案!这是真的吗?在Thread中,如果不删除并重新添加,是否无法将内容从
    依赖项
    移动到
    依赖项
    ?@LondonRob这是我发现的唯一方法这不是移动,这只是删除包并安装它again@seeker_of_bacon这里没有任何东西在后台运行。您可能会将
    &
    &
    混淆。虽然
    package lock.json
    中只有一个
    依赖项
    顶级部分,但每个条目都可能有一个
    dev
    标志,以指示它是一个开发依赖项还是一个的可传递依赖项。请参阅“如果[dev为]true,则此依赖项要么是顶层模块的开发依赖项,要么是顶层模块的可传递依赖项。对于顶层模块的开发依赖项和顶层模块的非开发依赖项的可传递依赖项,此项为false。”
    npm i <module_name> -P
    
    yarn remove <module_name> --dev && yarn add <module_name> 
    
    yarn remove <module_name> && yarn add <module_name> --dev