在package.json中是否有任何简短的命令将一个模块从devDependencies移动到dependencies ?
我发现自己总是这样做:
npm uninstall <module_name> --save-dev
npm install <module_name> --save
有没有更简单的方法?
在package.json中是否有任何简短的命令将一个模块从devDependencies移动到dependencies ?
我发现自己总是这样做:
npm uninstall <module_name> --save-dev
npm install <module_name> --save
有没有更简单的方法?
从devDependencies转移到dependencies的简写(prod):
npm i <module_name> -P
如果你想做相反的事情(即将一个模块从dependencies移动到devDependencies),只需做:
npm install <module_name> --save-dev
或简写:
npm i <module_name> -D
纱:
将一个模块从devDependencies移动到dependencies:
yarn remove <module_name> --dev && yarn add <module_name>
将一个模块从dependencies移动到devDependencies:
yarn remove <module_name> && yarn add <module_name> --dev
正如评论中所说,该命令实际上删除了模块,并将其重新安装到新位置。
使用npm或yarn命令的问题是,重新添加的版本有可能与当前使用的版本不同。如果这就是你想要的——无论是搬家还是升级——那么就使用公认的答案吧。
如果没有,只需手动编辑您的包。将行从devDependencies对象移动到dependencies对象(如果需要的话创建它)。你也可以走另一个方向。
锁文件不包含任何关于是否依赖于prod或dev的信息,因此不需要更新。你可以在之后进行npm/yarn安装来修复锁文件中的任何标志。
使用npm install的问题是你最终会得到更新的版本。对我有用的是:
将它们移动到预期的部分(开发或prod) 从node_modules文件夹中删除它们 执行npm install
这使得所有版本都保持完整。
I was trying to find an answer for this question for people that uses Yarn, but it hasn't a command for this matter yet. Although, I believe it is not essential anyway. Physically (in the Node modules folder) there are no difference between a dependency listed for production and the ones listed for development in your package.json, they'll go to the same place (node_modules). So, if you need to switch a dependency from devDependencies to dependecies you can go to your package.json and move manually with no need to run a new install or remove the dependency and then install it again with the dev flag. For me, it's not so great at all to manage the package.json manually, but Yarn is not as advanced as NPM in all functionalities, thus that's a thing to consider.