NodeJS 之 npm(NodeJS Package Manager)包管理工具
创始人
2024-05-16 04:23:59

NodeJS 之 npm(NodeJS Package Manager)包管理工具

  • 参考
  • 描述
  • npm
      • 获取
  • 准备工作
      • 更换安装源
      • package.json
          • 功能
  • 使用
      • 获取
          • 方式
            • 全局安装
            • 局部安装(开发)
            • 局部安装(部署)
            • 多包安装
      • 卸载

参考

项目参考
搜索引擎Bing
哔哩哔哩黑马程序员

描述

项目描述
操作系统Windows 10 专业版
NodeJS18.13.0

npm

npm(NodeJS Package Manager,NodeJS 包管理器)完全使用 JavaScript 编写而成,你可以通过该工具下载并安装 npm 服务器中存在的 NodeJS 第三方模块。当然,你也可以通过 npm 将自定义模块上传至 npm 服务器中,供他人下载。
npm 提供了一个名为registry 的查询服务,用户可通过本地的 npm 命令下载并安装指定模块。此外用户也可以通过npm把自己设计的模块分发到registry上面。npm 的 registry 没有审核机制,因此会存在一些低质量、不安全甚至有害的模块,然而 npm 服务器的管理员也可以删除有害模块并阻止不怀好意的用户。
如果一个项目中存在 package.json 文件,那么用户可以直接使用 npm install 命令自动安装和维护当前项目所需的所有模块。在 package.json 文件中,开发者可以指定每个依赖项的版本范围,这样既可以保证模块自动更新,又不会因为所需模块功能大幅变化导致项目出现问题。当然,开发者也可以选择将模块固定在某个版本之上。


上述内容整理自 维基百科

获取

NodeJS 在进行安装时默认会添加 npm,如果你未在 NodeJS 对该项设置进行修改,那么你已经成功安装了 npm。如果你不清楚是否安装了 npm,可在终端中输入如下命令,以在查看 npm 版本信息的同时检测计算机是否安装了 npm 包管理工具。

npm -v

或:

npm --version

如果你没有安装过 NodeJS,那么你可以前往 NodeJS 官网来对 NodeJS 进行安装(推荐安装长期维护版)。

准备工作

更换安装源

由于墙的存在,部分包(NodeJS 中的第三方模块)的安装可能会十分缓慢甚至无法安装,我们可以通过将 npm 当前的安装源更换为国内的镜像源来解决这一问题。

使用如下命令更换 npm 安装源为淘宝提供的 npm 镜像源:

npm config set registry https://registry.npm.taobao.org/

或:

npm set registry https://registry.npm.taobao.org/

使用如下命令查看当前使用的 npm 安装源:

npm config get registry

或:

npm get registry

package.json

在当前 NodeJS 项目下你需要使用如下命令初始化 npm 以获得项目描述文件 package.json

npm init

使用上述命令后,你需要填写项目的相关信息。如果你需要在以后对这些信息进行填写,你可以使用如下命令。使用该命令后 npm 将自动获取项目的信息,但部分信息仍需要你的补充。

npm init -y

使用该命令得到的 package.json 文件大致如此:

{"name": "demo",  "version": "1.0.0","description": "","main": "index.js","scripts": {"test": "echo \"Error: no test specified\" && exit 1"},"keywords": [],"author": "","license": "ISC"
}
功能
  1. package.json 会记录项目中所使用到的模块,在将项目文件转移到其他计算机后,你可以通过 npm install 来一键安装 package.json 所描述的包。

  2. 安装的模块所占据的存储空间可能很大,这不便于项目文件的转移。但因为有了 package.json 文件,我们可以将项目文件中已安装的模块删除后再进行转移。再转移后通过 npm install 来一键安装 package.json 所描述的包。

使用

获取

如果你希望查询某个包的信息可以通过访问 npmjs.com 对这个包进行查询。

你可以通过使用命令来安装位于 npm 服务器中的第三方模块,下面我将演示如何在终端中使用命令来安装第三方模块 webpack

npm install webpack

或:

npm i webpack

注:

安装的包将存放在项目文件下的 node_modules 文件夹中。

方式
全局安装

使用该方式进行第三方模块的安装,该模块将能够在不同的项目中使用。通过如下命令以全局安装的方式对第三方模块进行安装,这里我将以安装 webpack 来进行演示:

npm install -g webpack

或:

npm install --global webpack
局部安装(开发)

使用该方式进行第三方模块的安装,该模块将仅能够在当前项目中使用。通过如下命令以局部安装(开发)的方式对第三方模块进行安装,这里我将以安装 webpack 来进行演示:

npm install webpack

或:

npm install --save webpack

或:

npm install -S webpack

注:

在进行局部安装(开发)后,被安装的第三方模块的信息将被记录到 package.json 文件的 dependences 节点下,该节点中的定义了项目在开发阶段所使用到的包。

{"name": "demo","version": "1.0.0","description": "","main": "index.js","scripts": {"test": "echo \"Error: no test specified\" && exit 1"},"keywords": [],"author": "","license": "ISC","devDependencies": {"webpack": "^5.75.0"}
}
局部安装(部署)

使用该方式进行第三方模块的安装,该模块将仅能够在当前项目中使用。通过如下命令以局部安装(部署)的方式对第三方模块进行安装,这里我将以安装 webpack 来进行演示:

npm install -D webpack

或:

npm install --save-dev webpack

注:

在进行局部安装(部署)后,被安装的第三方模块的信息将被记录到 package.json 文件的 devDependences 节点下,该节点中的定义了项目在部署阶段(项目上线)所使用到的包。

{"name": "demo","version": "1.0.0","description": "","main": "index.js","scripts": {"test": "echo \"Error: no test specified\" && exit 1"},"keywords": [],"author": "","license": "ISC","devDependencies": {"webpack": "^5.75.0"}
}
多包安装

你可以执行一次 npm 命令来安装一个包,也可以仅执行一次 npm 命令来安装多个包。

在下面的演示中,我将以全局安装的方式一次型安装 jquery、webpack-cli 共两个包:

npm install -g jquery webpack-cli

卸载

你可以通过如下命令来卸载以全局安装的模式安装的第三方模块:

npm uninstall -g webpack

你也可以通过为 npm uninstall 命令添加 -S-D 等模式安装的第三方模块。
当然你也可以像多包安装那般实现多包删除。

注:

请不要手动删除已安装在 node_modules 中的第三方模块,手动删除模块并不会修改 package.json 中的相关内容。

相关内容

热门资讯

长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...