NPM介绍和常用命令的使用(带示例)

1. NPM使用介绍

npm,全称为Node Package Manager,是随同NodeJS一起安装的包管理和分发工具,它很方便让JavaScript开发者下载、安装、上传以及管理已经安装的包。npm之于Node.js,就像pip之于Python,gem之于Ruby,pear之于PHP。

此外,npm还提供了很多其他的功能,例如:

  1. 版本管理:npm使用语义化版本控制(semver),可以轻松地管理和控制包的版本。
  2. 依赖管理:npm可以自动处理包之间的依赖关系,确保安装的包之间没有冲突。
  3. 脚本运行:npm可以在安装过程中运行自定义脚本,以便进行构建、测试等操作。
  4. 安全性:npm提供了严格的安全措施,包括代码签名和漏洞扫描等,以确保下载的包是安全的。
  5. 社区支持:npm拥有庞大的用户社区和丰富的资源,可以轻松地找到所需的包和解决方案。

由于新版的nodejs已经集成了npm,所以之前npm也一并安装好了。同样可以通过输入 “npm -v” 来测试是否成功安装。命令如下,出现版本提示表示安装成功:

$ npm -v
2.3.0

如果你安装的是旧版本的 npm,可以很容易得通过 npm 命令来升级,命令如下:

$ sudo npm install npm -g
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
[email protected] /usr/local/lib/node_modules/npm

如果是 Window 系统使用以下命令即可:

npm install npm -g

使用淘宝镜像的命令:

npm install -g cnpm --registry=https://registry.npmmirror.com

2. 常用命令

  1. npm init

    • 功能:初始化一个新的npm项目,生成一个package.json文件。
    • 示例:在命令行中执行npm init,然后根据提示输入项目信息,如项目名称、版本、描述等。
  2. npm install

    • 功能:根据项目中的package.json文件自动下载项目所需的全部依赖。
    • 示例:在命令行中执行npm install,npm会自动读取package.json文件并安装所需的依赖。
  3. npm install 包名 --save-dev

    • 功能:安装的包只用于开发环境,不用于生产环境,会出现在package.json文件中的devDependencies属性中。
    • 示例:执行npm install gulp --save-dev,会将gulp作为开发依赖安装,并添加到package.json的devDependencies中。
  4. npm install 包名 --save

    • 功能:安装的包需要发布到生产环境的,会出现在package.json文件中的dependencies属性中。
    • 示例:执行npm install express --save,会将express作为生产依赖安装,并添加到package.json的dependencies中。
  5. npm list

    • 功能:查看当前目录下已安装的node包。
    • 示例:在命令行中执行npm list,会显示当前项目已安装的所有包及其依赖关系。
  6. npm list -g

    • 功能:查看全局已经安装过的node包。
    • 示例:在命令行中执行npm list -g,会显示全局已安装的所有包及其依赖关系。
  7. npm update 包名

    • 功能:更新指定包到最新版本。
    • 示例:执行npm update express,会将express包更新到最新版本。
  8. npm uninstall 包名

    • 功能:卸载指定包。
    • 示例:执行npm uninstall gulp,会卸载已安装的gulp包。
  9. npm config list

    • 功能:查看npm的配置信息。
    • 示例:在命令行中执行npm config list,会显示当前npm的配置信息。
  10. npm info 包名

    • 功能:查看指定包的详细信息。
    • 示例:执行npm info express,会显示express包的详细信息,如版本号、描述、依赖等。
  11. npm search 字符串/正则表达式

    • 功能:搜索npm仓库中的包。
    • 示例:执行npm search express,会搜索与express相关的包并显示结果。
  12. npm logout

    • 功能:退出npm的登录状态。
    • 示例:在命令行中执行npm logout,会退出当前登录的npm账号。
  13. npm login

    • 功能:登录npm账号。
    • 示例:在命令行中执行npm login,然后根据提示输入用户名、密码和邮箱进行登录。
  14. npm whoami

    • 功能:查看当前登录的npm用户名。
    • 示例:在命令行中执行npm whoami,会显示当前登录的用户名。
  15. npm cache clean

    • 功能:清理npm缓存。
    • 示例:在命令行中执行npm cache clean,会清理npm的缓存数据。
  16. npm cache verify

    • 功能:检查npm缓存的有效性。
    • 示例:在命令行中执行npm cache verify,会验证npm缓存的数据是否有效。
  17. npm dist-tag 标签名 包名 / npm tag 包名 标签名(这两条命令功能相似)

    • 功能:给指定包添加或修改发布标签。发布标签用于标识包的版本,如"latest"、"next"等。默认情况下,"latest"标签指向包的最新版本。通过修改发布标签,可以控制用户通过不同标签安装不同版本的包。例如,你可以将"next"标签指向包的下一个版本,让用户通过安装带有"next"标签的包来尝试新版本的功能。这有助于进行版本管理和发布流程的控制。
    • 示例:假设你已经发布了一个名为"mypackage"的包的版本1.0.0和2.0.0,你可以使用以下命令将"next"标签指向2.0.0版本:npm dist-tag add [email protected] next然后,用户可以通过以下命令安装带有"next"标签的"mypackage"包。
  18. npm run-script 脚本名

    • 功能:运行在package.json中定义的脚本。

    • 示例:在package.json中定义了一个名为"start"的脚本,可以使用以下命令运行该脚本:npm run-script start

  19. npm doc 包名

    • 功能:查看指定包的文档。

    • 示例:执行npm doc express,会显示express包的官方文档。

  20. npm home 包名

    • 功能:查看指定包的官方文档首页。

    • 示例:执行npm home express,会打开express包的官方文档首页。

  21. npm bug 包名

    • 功能:查看指定包的bug列表。

    • 示例:执行npm bug express,会显示express包的bug列表。

  22. npm search 关键字

    • 功能:搜索npm仓库中的包。

    • 示例:执行npm search express,会搜索包含"express"关键字的npm包并显示结果。

  23. npm view 包名 字段[值]

    • 功能:查看指定包的指定字段值。例如,可以使用该命令查看包的版本号、作者等信息。

    • 示例:执行npm view express version,会显示express包的版本号。

  24. npm view 包名 version

    • 功能:查看指定包的版本号。

    • 示例:执行npm view express version,会显示express包的版本号。

  25. npm dedupe 包名

    • 功能:消除包之间的重复依赖。当一个项目依赖的多个包之间存在相同的依赖项时,可以使用该命令消除重复的依赖项,以减小项目的体积并避免潜在的冲突。

    • 示例:假设项目依赖的包A和包B都依赖于相同版本的lodash,可以使用以下命令消除重复的依赖项:npm dedupe lodash

  26. npm version minor / npm version major

    • 功能:更新包的版本号为次要版本(minor)或主要版本(major)。

    • 示例:执行npm version minor,会将当前包的版本号由1.0.0更新为1.1.0;执行npm version major,会将当前包的版本号由1.0.0更新为2.0.0。

  27. npm tag 包名@版本号

    • 功能:给指定版本的包添加标签。通过添加标签,可以标识特定版本的包,以便用户可以通过标签安装特定版本的包。

    • 示例:假设已经发布了一个名为"mypackage"的包的版本1.0.0,并且想要将该版本添加一个名为"v1"的标签,可以使用以下命令:npm tag [email protected] v1然后,用户可以通过以下命令安装带有"v1"标签的"mypackage"包的1.0.0版本:npm install mypackage@v1

  28. npm publish 包名

    • 功能:发布包到npm仓库。在发布之前,需要先在package.json中配置相应的信息,如名称、版本、描述等。发布时需要使用已经注册的npm账号登录。发布后,其他人可以通过npm install命令安装并使用该包。

    • 示例:假设已经完成了对一个名为"mypackage"的包的开发和测试,并且准备将其发布到npm仓库,可以使用以下命令进行发布:npm publish然后根据提示输入相关信息完成发布。

  29. npm unpublish 包名@版本号

    • 功能:从npm仓库中删除已发布的包。注意,这是一个敏感操作,一旦删除,将无法恢复。因此,在删除之前,请确保你真的需要这样做,并且已经通知了相关的使用者。

    • 示例:假设你想要删除已经发布的"mypackage"包的1.0.0版本,可以使用以下命令进行删除:npm unpublish [email protected]

  30. npm link

    • 功能:创建一个符号链接,使得本地开发的包可以直接被其他项目引用。这对于开发和测试本地包非常有用。

    • 示例:假设你正在开发一个名为"my-local-package"的本地包,并且想要在其他项目中使用它,可以在"my-local-package"的根目录下执行npm link。然后,在需要使用该包的项目中执行npm link my-local-package,即可创建一个指向"my-local-package"的符号链接。

  31. npm outdated

    • 功能:检查当前项目中安装的包是否有更新的版本可用。

    • 示例:在项目的根目录下执行npm outdated,会显示当前项目中安装的包及其可用的更新版本信息。

  32. npm repo 包名

    • 功能:打开指定包的官方仓库页面。

    • 示例:执行npm repo express,会打开express包的官方仓库页面。

  33. npm help 命令名

    • 功能:查看指定命令的帮助信息。

    • 示例:执行npm help install,会显示install命令的帮助信息。

  34. npm completion

    • 功能:配置npm命令行的自动补全功能。这可以方便你在输入npm命令时快速补全命令和参数。

    • 示例:在命令行中执行npm completion,然后按照提示进行配置即可启用自动补全功能。

你可能感兴趣的:(知识库,npm,前端,node.js)