乐闻世界logo
搜索文章和话题

What the different between `pnpm install` and `pnpm add`?

5 个月前提问
3 个月前修改
浏览次数252

4个答案

1
2
3
4

pnpm installpnpm addpnpm 包管理器中的两个命令,它们在某些情况下功能相似,但在其它情况下则有明显的不同:

  1. pnpm install:

    • 这个命令在没有参数的情况下,通常用于安装或更新package.json中列出的所有依赖。
    • 当你在项目初次创建时或者克隆他人的项目后,可以运行pnpm install来安装所有必要的依赖项。
    • pnpm install还用于在全局安装软件包时添加-g标志。
    • 如果你之前安装过依赖,pnpm install还会更新依赖并且保持与pnpm-lock.yaml文件的一致性。
    • 这个命令不会修改package.json文件,除非你结合使用一些参数,例如pnpm install <package-name>
  2. pnpm add:

    • pnpm add用来添加一个或多个新的依赖到项目中。
    • 运行pnpm add <package-name>会将最新版本的包添加到package.json的依赖列表中,并且安装该依赖。
    • 可以用pnpm add <package-name>@<version>来指定安装特定版本的包。
    • 类似地,可以通过加-D--save-dev来将包添加为开发依赖。
    • pnpm add还可以用于全局安装软件包,通过添加-g标志。
    • 总结来说,pnpm add是用来添加新依赖的,并且会修改package.jsonpnpm-lock.yaml文件。

示例:

假设我们有一个新的项目,需要添加react库:

  • 使用pnpm add react会在项目的package.json中添加react作为依赖,并且安装它。
  • 如果我们已经有了package.json并且列出了所需的依赖,那么使用pnpm install会根据这个文件安装所有列出的依赖。

总的来说,pnpm add用于添加新的依赖,而pnpm install通常用于安装或更新已有的依赖。在实践中,pnpm add命令通常在开发过程中使用,当你需要添加新库到你的项目中;而pnpm install则在项目初次设置或者当你需要根据版本锁文件来同步依赖时使用。

2024年6月29日 12:07 回复

There is not much difference between them. In most cases they are interchangeable:

pnpm install <args?>: without args it will scan and install all the modules listed in pnpm-lock.yaml, in case of args it works as pnpm add

pnpm add <args>: It will install one more package.

if choose yes i will use pnpm add because it is new modern syntax that supports all package managers (npm add, yarn add)

2024年6月29日 12:07 回复

Basically as per their docs:


We need to use pnpm add when we want to add a new dependency to our project


We will be needing to use pnpm install when we have an existing project with the lockfile and we want to install all dependencies from the lockfile.


For more information please refer to the official docs:

PNPM Add Docs
PNPM Install Docs

2024年6月29日 12:07 回复

你的答案