1. 无参数
- 作用: 在没有提供任何参数的情况下, npm 会默认将包安装到项目的
node_modules
目录下,并且不会将其添加到package.json
文件中。 - 这意味着它是一次简单的本地安装操作
示例:
代码语言:javascript复制npm install package-name
2. --save
或 -S
- 作用: 将安装的包添加到项目的
package.json
文件中的dependencies
字段,以便在项目重新安装时自动安装依赖项。 - 在重新安装项目时,这些包将被自动安装。
示例:
代码语言:javascript复制npm install package-name --save
3. --save-dev
或 -D
- 作用: 将安装的包添加到项目的
package.json
文件中的devDependencies
字段,通常用于开发环境的依赖项,比如测试框架、构建工具等。 - 这些依赖项通常用于开发环境,例如测试框架、构建工具等,而不是生产环境所需的依赖项。
示例:
代码语言:javascript复制npm install package-name --save-dev
4. --global
或 -g
- 作用: 将包安装到全局环境,而不是当前项目的本地环境。这使得包可以在系统的任何地方使用,通常用于工具类包。
- 这使得包可以在系统的任何地方使用,通常用于全局安装的工具类包。
示例:
代码语言:javascript复制npm install package-name --global
5. --production
- 作用: 仅安装生产环境所需的依赖项,跳过安装开发依赖项。
- 这在部署应用程序时非常有用,因为不需要安装测试框架或构建工具等开发依赖项。
示例:
代码语言:javascript复制npm install --production
6. --legacy-peer-deps
- 作用: 在安装时允许旧版 npm 所使用的 peerDependencies 行为。
- 在 npm v7 及更高版本中,
peerDependencies
会被默认忽略,而这个参数可以还原旧版行为。
示例:
代码语言:javascript复制npm install package-name --legacy-peer-deps
7. --no-save
- 作用: 安装包但不将其添加到
package.json
文件中的依赖项中。 - 这在你只需要临时安装包,而不希望更新项目的依赖项清单时非常有用。
示例:
代码语言:javascript复制npm install package-name --no-save
8. --ignore-scripts
- 作用: 安装时忽略包的安装脚本。
- 有时候包的安装脚本可能会引起问题,例如执行耗时较长的脚本或与环境不兼容的脚本。这个参数可以跳过这些脚本的执行。
示例:
代码语言:javascript复制npm install package-name --ignore-scripts
9. --dry-run
- 作用: 模拟安装过程,而不实际执行安装操作,以检查安装是否会成功。
- 这对于检查安装是否会成功或了解安装将下载的内容非常有用。
示例:
代码语言:javascript复制npm install package-name --dry-run
10. --registry
- 作用: 指定要使用的 npm 注册表的 URL 。
- 默认情况下, npm 将使用官方的 npm 注册表,使用这个参数可以指定自定义的注册表。
示例:
代码语言:javascript复制npm install package-name --registry=https://registry.npm.taobao.org
11. --no-package-lock
- 作用: 安装包时不生成
package-lock.json
文件。 package-lock.json
文件用于锁定项目依赖项的版本,但有时可能不希望生成这个文件,例如在使用 Yarn 或其他工具时。
示例:
代码语言:javascript复制npm install package-name --no-package-lock
12. --frozen-lockfile
- 作用: 锁定
package-lock.json
文件,防止对其进行更改。 - 当多个开发者共享项目时,为了确保所有人都使用相同的依赖项版本,可以使用这个参数锁定
package-lock.json
文件。
示例:
代码语言:javascript复制npm install package-name --frozen-lockfile
13. --optional
- 作用: 将包标记为可选依赖项。
- 这意味着即使安装这些包失败, npm 也不会报错,而是继续安装其他依赖项。
示例:
代码语言:javascript复制npm install package-name --optional
14. --audit
- 作用: 在安装过程中运行安全审计,检查是否有已知的漏洞。
- 这有助于确保安装的包不包含已知的安全漏洞。
示例:
代码语言:javascript复制npm install package-name --audit
15. --legacy-bundling
- 作用: 使用旧的捆绑策略,将本地软件包安装到
node_modules
目录中。 - 在 npm v7 及更高版本中, npm 使用新的捆绑策略,但你可以通过使用这个参数来使用旧的捆绑策略。
示例:
代码语言:javascript复制npm install package-name --legacy-bundling