如何安装本地包

有两种方式用来安装 npm 包:本地安装和全局安装。至于选择哪种方式来安装,取决于我们如何使用这个包。

  • 如果你自己的模块依赖于某个包,并通过 Node.js 的 require 加载,那么你应该选择本地安装,这种方式也是 npm install 命令的默认行为。
  • 如果你想将包作为一个命令行工具,(比如 grunt CLI),那么你应该选择全局安装

想要了解更多关于 install 命令行的行为,可以查看 CLI 文档

安装一个包

安装

可以使用下面的命令来安装一个包:npm install <package_name>

上述命令执行之后将会在当前的目录下创建一个 node_modules 的目录(如果不存在的话),然后将下载的包保存到这个目录下。

测试:

为了确认 npm install 是正常工作的,可以检查 node_modules 目录是否存在,并且里面是否含有你安装的包的文件夹。

实例:

安装一个叫做 lodash 的包。安装成功之后,如果 node_modules 目录下存在一个名为 lodash 的文件夹,则说明成功安装了这个包。

Microsoft Windows:

C:\ npm install lodash

C:\ dir node_modules #=> lodash

macOS, Ubuntu, Debian

> npm install lodash
> ls node_modules #=> lodash

哪个版本的包会被安装了?

在本地目录中如果没有 package.json 这个文件的话,那么最新版本的包会被安装。

如果存在 package.json 文件,则会在 package.json 文件中查找针对这个包所约定的语义化版本规则,然后安装符合此规则的最新版本。

使用已安装的包

一旦将包安装到 node_modules 目录中,你就可以使用它了。比如在你所创建的 Node.js 模块中,你可以 require 这个包。

实例:

创建一个名为 index.js 的文件,并保存如下代码:

// index.js
var lodash = require('lodash');
 
var output = lodash.without([1, 2, 3], 1);
console.log(output);

运行 node index.js 命令。应当输出 [2, 3]

如果你没能正确安装 lodash,你将会看到如下的错误信息:

module.js:
throw err;
^
Error: Cannot find module 'lodash'

可以在 index.js 所在的目录中运行 npm install lodash 命令来修复这个问题。

如何更新本地安装的包

定期更新你的应用所依赖的包(package)是个好习惯。因为依赖包的开发者更新了代码,你的应用也就能够获得提升。

为了完成这个任务需要:

  1. 在 package.json 文件所在的目录中执行 npm update <package> 命令。
  2. 执行 npm outdated 命令。不应该有任何输出。此命令将检查注册表,以查看当前是否有任何(或特定的)已安装的包过期。

如何卸载本地安装的包

如需删除 node_modules 目录下面的包(package),请执行:npm uninstall <package>

如需从 package.json 文件中删除依赖,需要在命令后添加参数 --save也就是是:npm uninstall --save <package>

注意:如果你将安装的包作为 "devDependency"(也就是通过 --save-dev 参数保存的),那么 --save 无法将其从 package.json 文件中删除。所以必须通过 --save-dev 参数可以将其卸载,也就是npm uninstall --save-dev <package>

试一试:

为了确定 npm uninstall 命令执行成功,请找到 node_modules 目录,并在此目录下检查你所卸载的包(package)所对应的目录是否消失了。

通过如下命令:

  • ls node_modules 在 Unix 系统中使用,例如 "OSX"
  • dir node_modules 在 Windows 系统中使用。

实例:

安装 lodash。为了确认安装成功,请检查 node_modules 目录下是否存在 lodash 目录。

通过 npm uninstall 命令卸载 lodash。为了确认执行成功,请检查 node_modules 目录下不存在 lodash 目录。

安装 Lodash
npm install lodash
> dir node_modules # Unix 系统使用 `ls node_modules` 命令
卸载 Lodash
#=> lodash

> npm uninstall lodash
> dir node_modules # Unix 系统使用 `ls node_modules` 命令 #=>

npm学习(三)之如何安装本地包、更新本地安装的包、卸载本地安装的包的更多相关文章

  1. Nuget包里的依赖包更新到最新版本会不会随主包回滚到旧包的研究

    A包中有几个依赖包:A-1包,版本:>=1.0:但是我项目上已经引用了A-1包的2.0版本,那么我添加A包的时候,不会将A-1包2.0版本改成1.0版本,会直接用2.0版本的.

  2. Salesforce LWC学习(三十八) lwc下如何更新超过1万的数据

    背景: 今天项目组小伙伴问了一个问题,如果更新数据超过1万条的情况下,有什么好的方式来实现呢?我们都知道一个transaction只能做10000条DML数据操作,那客户的操作的数据就是超过10000 ...

  3. Linux CentOS 6.5 卸载、安装JDK1.8

    卸载系统自带的jdk 1. 查询系统是否已经安装了jdk rpm -qa|grep java 2. 卸载已安装的jdk, 系统可能会自带多个jdk版本, 按需卸载 rpm -e --nodeps ja ...

  4. npm学习(四)之如何安装全局包、更新全局安装的包、卸载全局安装的包

    如何安装全局包 有两种方式用来安装 npm 包:本地安装和全局安装.选用哪种方式来安装,取决于你如何使用这个包. 如果你想将其作为一个命令行工具,那么你应该将其安装到全局.这种安装方式后可以让你在任何 ...

  5. docker学习(三) 安装docker的web可视化管理工具

    1.docker是一个一款很轻便的应用容器引擎,为了更好的管理和使用docker,使用web可视化管理工具似乎更符合大多数人的需求.在这里,我给大家分享下自己使用过的几款web工具:docker UI ...

  6. 利用npm安装/删除/发布/更新/撤销发布包 --社会我npm哥,好用话不多

      一.什么是npm? npm是javascript的包管理工具,是前端模块化下的一个标志性产物 简单地地说,就是通过npm下载模块,复用已有的代码,提高工作效率   1.从社区的角度:把针对某一特定 ...

  7. NPM 学习笔记整理

    NPM 学习笔记整理 阅读 550,2017年06月04日 发布,来源:blog.ihoey.com 什么是 NPM npm 之于 Node ,就像 pip 之于 Python , gem 之于 Ru ...

  8. npm 学习笔记

    一.介绍 1.是什么 npm 全称是 Node Package Manager,即 Node 包管理工具. 但是发展到后来,并不仅是适用于 node.js 的包. 所以现在看 node_modules ...

  9. npm 安装/删除/发布/更新/撤销 发布包

    目录 一. npm安装包 1.1 什么时候用本地/全局安装? 1 当你试图安装命令行工具的时候,例如 grunt CLI的时候,使用全局安装 2. 当你试图通过npm install 某个模块,并通过 ...

随机推荐

  1. Super Mario(主席树)

    Super Mario  Mario is world-famous plumber. His “burly” figure and amazing jumping ability reminded ...

  2. Sqlmap自动注入--REQEST

    数据段: --data sqlmap.py -u ”192.168.1.101/mullitea/login.php" --data="username&passwd=2& ...

  3. java set 顺序

    在java语言中,提供多种不同的结构来组织对象,Set(集合)是其中的一种,本身是一个接口,其迭代时的顺序取决于其具体实现.典型的实现包括:HashSet:哈希表是通过使用称为散列法的机制来存储信息的 ...

  4. C++入门经典-例5.2-使用指针比较两个数的大小

    1:代码如下: // 5.2.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> using ...

  5. visual studio运行时库MT、MTd、MD、MDd

    在开发window程序是经常会遇到编译好好的程序拿到另一台机器上面无法运行的情况,这一般是由于另一台机器上面没有安装响应的运行时库导致的,那么这个与编译选项MT.MTd.MD.MDd有什么关系呢?这是 ...

  6. vue问题一:触发接口

    //在script中先引用 import api from './../../api/index' //vue文件方法中 写 del(index, row) { let self=this; // 传 ...

  7. flutter 隐藏返回按钮 自定义返回按钮

    自定义返回按钮 //改变颜色 Widget build(BuildContext context) { return Scaffold( appBar: AppBar( leading: BackBu ...

  8. 阶段3 1.Mybatis_12.Mybatis注解开发_8 mybatis注解开发使用二级缓存

    执行两次都查询userId为57的数据.测试一级缓存 返回true 新建测试类 ,测试二级缓存 二级缓存的配置 首先是全局配置,不配置其实也是可以的.默认就是开启的.这里为了演示配置上 dao类里面进 ...

  9. 递归选中easyui树

    $(function(){ // var data1 = [ // { // "id": 3, // "text": "3组织", // & ...

  10. nodejs 框架 中文express 4.xxx中文API手册

       介于最近express 中文文档比较难找的现状,特地找了一个,供大家学习思考 Express 4.x API express 翻译 api文档 中文 --     express() expre ...