npm 常用入门操作

本贴最后更新于 1887 天前,其中的信息可能已经天翻地覆

nodejs 已经集成 npm 工具,因此只需要安装 nodejs 即可使用 npm 的功能。在下面链接中可以下载 npm,下载安装版可以省去手动配置环境变量。
http://nodejs.cn/download/

安装完成后,使用 node -V 查看 nodejs 版本,使用 npm -V 查看 npm 版本。

必备基础知识和概念

在 npm 管理的项目中,有一个 package.json 文件,类似于 maven 的 pom.xml 文件,下面是一个完整的 package.json 文件的内容:

{
  "name": "npm",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "angular": "^1.7.8",
    "jquery": "^3.4.1"
  },
  "devDependencies": {
    "vue": "^2.6.10"
  }
}

此文件中定义了关于项目的信息,依赖的信息,其中有两个节点需要注意:dependencies 和 devDependencies。这个分别对应开发环境和生产环境,可以针对两个环境安装不同的依赖模块,然后可以很方便的切换环境。在安装模块的时候,如果使用-S 参数,或者不用参数,则会把模块的版本信息自动配置到此文件的 dependencies 中,如果使用-D 参数,则会配置到 devDependencies 中。

关于版本号有下面几种写法:

  • 大版本号.次版本号.小版本号,没有其他任何修饰符,表示只能这个版本号
  • 如果在版本号的前面有~修饰,表示安装大版本号和次版本号一致的最新版本,比如~3.2.1,则安装版本号为 3.2.*系列中最新的包。
  • 如果版本号的前面有 ^ 修饰,则安装大版本号一致的最新版本,比如 ^1.2.3,则会安装大版本号为 1 的最新版本。
  • latest :安装最新版本。

在安装包的时候,有全局安装和本地安装两种方式,本地安装会把依赖下载到当前目录下,而全局安装会把包下载到某个默认目录。全局安装命令是在本地安装命令后面加-g 参数,所有全局操作的命令末尾都有-g 参数(记住这点可以方便记忆)。

常用命令

npm init 在当前目录初始化项目, npm init -y 采用默认信息初始化项目  
npm install <Module Name>[@版本号] 本地安装模块(包会下载到当前目录)
npm install <Module Name>[@版本号] -g 全局安装模块(使用npm root -g查看包下载到哪个目录)
npm root -g 查看全局安装会下载到的目录
npm config set prefix "D:\mypackage" 修改全局安装目录为D:\mypackage
npm list 查看本地安装的所有模块
npm list <Module Name> 查看指定模块
npm list -g 查看已经安装的全局模块
npm install <Module Name> -S 把模块安装到生成环境配置,也就是上文说的会在dependencies中保存模块的信息,-S也可以替换为--save参数。
npm install <Module Name> -D 把模块安装到开发环境,也就是把模块的信息保存在上文说的devDependencies中,-D也可以替换为--save-dev参数。
npm install 根据package.json文件,安装所需要的依赖。必须进入到该文件所在目录使用此命令。
npm view <Module Name> version 查看远程仓库中该模块的最新版本
npm view <Module Name> versions 查看远程仓库中该模块的所有版本
npm uninstall <Module Name> 卸载已经安装的本地模块,实际上就是删除已经安装的依赖包,并且删除package.json中对应的配置信息。
npm uninstall -g <Module Name> 卸载已经安装的全局模块
npm get registry 查看当前使用的镜像地址
npm config set registry https://registry.npm.taobao.org 配置淘宝镜像地址
npm config set registry https://registry.npmjs.org/  还原默认镜像地址

  • npm
    25 引用 • 39 回帖
  • Node.js

    Node.js 是一个基于 Chrome JavaScript 运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞 I/O 模型而得以轻量和高效。

    139 引用 • 269 回帖 • 29 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • Mobi.css

    Mobi.css is a lightweight, flexible CSS framework that focus on mobile.

    1 引用 • 6 回帖 • 745 关注
  • 服务器

    服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。

    125 引用 • 588 回帖
  • Kafka

    Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是现代系统中许多功能的基础。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。

    36 引用 • 35 回帖 • 1 关注
  • 微服务

    微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。

    96 引用 • 155 回帖
  • IDEA

    IDEA 全称 IntelliJ IDEA,是一款 Java 语言开发的集成环境,在业界被公认为最好的 Java 开发工具之一。IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。

    181 引用 • 400 回帖
  • GitHub

    GitHub 于 2008 年上线,目前,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。正因为这些功能所提供的便利,又经过长期的积累,GitHub 的用户活跃度很高,在开源世界里享有深远的声望,并形成了社交化编程文化(Social Coding)。

    210 引用 • 2036 回帖 • 1 关注
  • Caddy

    Caddy 是一款默认自动启用 HTTPS 的 HTTP/2 Web 服务器。

    12 引用 • 54 回帖 • 159 关注
  • Scala

    Scala 是一门多范式的编程语言,集成面向对象编程和函数式编程的各种特性。

    13 引用 • 11 回帖 • 139 关注
  • GAE

    Google App Engine(GAE)是 Google 管理的数据中心中用于 WEB 应用程序的开发和托管的平台。2008 年 4 月 发布第一个测试版本。目前支持 Python、Java 和 Go 开发部署。全球已有数十万的开发者在其上开发了众多的应用。

    14 引用 • 42 回帖 • 779 关注
  • 开源中国

    开源中国是目前中国最大的开源技术社区。传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台。目前开源中国社区已收录超过两万款开源软件。

    7 引用 • 86 回帖
  • Ngui

    Ngui 是一个 GUI 的排版显示引擎和跨平台的 GUI 应用程序开发框架,基于
    Node.js / OpenGL。目标是在此基础上开发 GUI 应用程序可拥有开发 WEB 应用般简单与速度同时兼顾 Native 应用程序的性能与体验。

    7 引用 • 9 回帖 • 394 关注
  • 面试

    面试造航母,上班拧螺丝。多面试,少加班。

    325 引用 • 1395 回帖
  • 创造

    你创造的作品可能会帮助到很多人,如果是开源项目的话就更赞了!

    178 引用 • 997 回帖 • 1 关注
  • RIP

    愿逝者安息!

    8 引用 • 92 回帖 • 364 关注
  • 导航

    各种网址链接、内容导航。

    42 引用 • 175 回帖
  • Hadoop

    Hadoop 是由 Apache 基金会所开发的一个分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

    86 引用 • 122 回帖 • 627 关注
  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    545 引用 • 672 回帖
  • 阿里巴巴

    阿里巴巴网络技术有限公司(简称:阿里巴巴集团)是以曾担任英语教师的马云为首的 18 人,于 1999 年在中国杭州创立,他们相信互联网能够创造公平的竞争环境,让小企业通过创新与科技扩展业务,并在参与国内或全球市场竞争时处于更有利的位置。

    43 引用 • 221 回帖 • 106 关注
  • ReactiveX

    ReactiveX 是一个专注于异步编程与控制可观察数据(或者事件)流的 API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。

    1 引用 • 2 回帖 • 160 关注
  • 30Seconds

    📙 前端知识精选集,包含 HTML、CSS、JavaScript、React、Node、安全等方面,每天仅需 30 秒。

    • 精选常见面试题,帮助您准备下一次面试
    • 精选常见交互,帮助您拥有简洁酷炫的站点
    • 精选有用的 React 片段,帮助你获取最佳实践
    • 精选常见代码集,帮助您提高打码效率
    • 整理前端界的最新资讯,邀您一同探索新世界
    488 引用 • 384 回帖
  • BookxNote

    BookxNote 是一款全新的电子书学习工具,助力您的学习与思考,让您的大脑更高效的记忆。

    笔记整理交给我,一心只读圣贤书。

    1 引用 • 1 回帖 • 1 关注
  • 前端

    前端技术一般分为前端设计和前端开发,前端设计可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括 HTML、CSS 以及 JavaScript 等。

    247 引用 • 1348 回帖
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    8456 引用 • 38519 回帖 • 155 关注
  • OnlyOffice
    4 引用 • 3 关注
  • C

    C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    85 引用 • 165 回帖 • 1 关注
  • Logseq

    Logseq 是一个隐私优先、开源的知识库工具。

    Logseq is a joyful, open-source outliner that works on top of local plain-text Markdown and Org-mode files. Use it to write, organize and share your thoughts, keep your to-do list, and build your own digital garden.

    6 引用 • 63 回帖 • 4 关注
  • jQuery

    jQuery 是一套跨浏览器的 JavaScript 库,强化 HTML 与 JavaScript 之间的操作。由 John Resig 在 2006 年 1 月的 BarCamp NYC 上释出第一个版本。全球约有 28% 的网站使用 jQuery,是非常受欢迎的 JavaScript 库。

    63 引用 • 134 回帖 • 724 关注