【问题标题】:NPM package installed without saving are getting removed when new package is being installed安装新包时,未保存安装的 NPM 包将被删除
【发布时间】:2019-01-18 14:08:54
【问题描述】:

我在 Express.js 中有一个项目,我需要在其中安装新包以添加新功能。但是,当我安装新软件包时,一些旧软件包(可能没有使用 save 命令安装)正在被卸载。有没有办法,通过读取 package-lock.json 依赖来更新 package.json,这样新的依赖就不会去掉旧的?

建议将不胜感激!谢谢。

【问题讨论】:

  • 你能提供一个删除其他包的小包列表吗?
  • 其中一个包,我要安装的是multer-s3
  • 删除一次节点模块文件夹并安装一次。
  • 我设法通过不保存我的新依赖项来摆脱这种情况(也许是临时解决方案)。

标签: node.js express npm package


【解决方案1】:

更新 npm 5:

从 npm 5.0.0 开始,已安装的模块默认添加为依赖项,因此不再需要 --save 选项。其他保存选项仍然存在,并列在 npm install 的文档中。

在 NPM 5 之前:

在版本 5 之前,NPM 只是默认在 node_modules 下安装了一个包。当您尝试为您的应用程序/模块安装依赖项时,您需要先安装它们,然后将它们(连同适当的版本号)添加到 package.json 的依赖项部分。

--save 选项指示 NPM 自动将包包含在 package.json 的依赖项部分中,从而为您节省了额外的步骤。

此外,还有补充选项 --save-dev 和 --save-optional 分别将包保存在 devDependencies 和 optionalDependencies 下。这在安装仅限开发的包时很有用,例如 grunt 或您的测试库。

【讨论】:

  • 所以依赖没有添加到package.json,这对新包造成了麻烦,有没有办法管理这个?
猜你喜欢
  • 1970-01-01
  • 2015-07-09
  • 2018-02-28
  • 2015-05-30
  • 1970-01-01
  • 2019-06-21
  • 2022-08-18
  • 1970-01-01
  • 2016-06-21
相关资源
最近更新 更多