跳到主要内容

pnpm CLI

与 npm 的差异

与 npm 不同,pnpm 会验证所有参数。例如,pnpm install --target_arch x64 将运行 失败,由于 --target_arch 不是一个有效的 pnpm install 参数。

但是,某些依赖项可能会使用以 npm_config_ 开头的环境变量,该环境变量 是可以通过 CLI 参数添加的。在这种情况下,假定有如下参数:

  1. 直接设置环境变量:npm_config_target_arch=x64 pnpm install
  2. 利用 --config. 前缀强制设置参数:pnpm install --config.target_arch=x64

参数

-C <path>, --dir <path>

<path> 设置为 pnpm 的运行目录,而不是当前目录。

-w, --workspace-root

Run as if pnpm was started in the root of the workspace instead of the current working directory.

命令

有关更多信息,请参见各个 CLI 命令的文档。以下 是一个与 npm 等价命令的对照表,帮助你快速入门:

npm 命令pnpm 等价命令
npm installpnpm install
npm i <pkg>pnpm add <pkg>
npm run <cmd>pnpm <cmd>

当你使用一个未知命令时,pnpm 将会查找和该命令具有相同名称的脚本, 因此,pnpm run lintpnpm lint 是一样的。如果没有相同名称的脚本的话, 那么 pnpm 将按照 shell 脚本的形式执行该命令,所以你可以执行类似 pnpm eslint (see pnpm exec) 指令的命令。

Environment variables

Some environment variables that are not pnpm related might change the behaviour of pnpm:

These environment variables may influence what directories pnpm will use for storing global information:

  • XDG_CACHE_HOME
  • XDG_CONFIG_HOME
  • XDG_DATA_HOME
  • XDG_STATE_HOME

You can search the docs to find the settings that leverage these environment variables.