首页 > 其他分享 >npm学习(三)之如何安装本地包、更新本地安装的包、卸载本地安装的包

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

时间:2023-11-28 12:47:14浏览次数:43  
标签:npm node lodash modules 本地 安装 目录

 

如何安装本地包

有两种方式用来安装 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:340
    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,node,lodash,modules,本地,安装,目录
From: https://www.cnblogs.com/onesea/p/17861661.html

相关文章

  • npm学习(四)之如何安装全局包、更新全局安装的包、卸载全局安装的包
      如何安装全局包有两种方式用来安装npm包:本地安装和全局安装。选用哪种方式来安装,取决于你如何使用这个包。如果你想将其作为一个命令行工具,那么你应该将其安装到全局。这种安装方式后可以让你在任何目录下使用这个包。比如grunt就应该以这种方式安装。如果您希......
  • npm学习(二)之如何防止权限错误
     如何防止权限错误如果您在尝试全局安装包时看到EACCES错误,请阅读本章。如果更改安装npm的目录,通常可以避免此错误。要做到这一点,要么使用版本管理器重新安装npm(推荐)或手动更改npm的默认目录。选项一:使用节点版本管理器重新安装这是避免权限问题的最佳方法,在安装节点版......
  • npm学习(一)之安装、更新以及管理npm版本
      安装npm安装前须知:npm是在Node中编写的,因此需要安装Node.js才能使用npm。可以通过Node.js网站安装npm,或者安装节点版本管理器NVM。如果只是想开始探索npm,使用Node.js安装方法是最快的。如果您是一名高级开发人员,准备投入工作并使用版本,请使用node版本管理器。如果你不......
  • npm学习(十三)之npm命令
      npm:查看npm所有命令自己写包可能用到的命令:npmadduser:注册npmlogin:登录npmwhami:查看当前用户名npminit:初始化包的信息npmpublish:发布包/更新包npmpublish--access=public:发布公共作用域包npmunpublishxxx(包名) --force:强制删除包npm......
  • npm学习(十六)之package-lock.json和package.json的作用
      转自:https://www.cnblogs.com/cangqinglang/p/8336754.htmlpackage-lock.json的作用就是锁定安装依赖时包的版本,并且需要上传到git,以保证其他人npminstall时安装的依赖能够保持一致 根据官方文档,这个package-lock.json是在`npminstall`时候生成的一份文件,用以记录......
  • npm学习(十四)之npm5踩过的坑!
     1.版本问题导致环境问题npm5之前我们第一次npminstall时是根据package.json来安装相关依赖的,但是它里面的版本不固定,因此默认会根据最高的版本来安装相关依赖,但是在npm5是根据package-lock.json来安装相关依赖的,但前提是没有在命令行中新安装依赖或者更改package.json,否则......
  • npm学习(十五)之理解npm、nvm、nodejs之间的关系
      nvmnvm:nodeJs版本管理工具,管理nodejs版本和npm版本,使用nvm安装nodejs时会将npm一起安装下来nodejsnodeJs: 一种高效的JavaScript运行环境npmnpm:是随同nodeJs一起安装的包管理工具,npm管理对应nodeJs的第三方插件  常见的使用场景有以下几种:  .允许用户从......
  • npm学习(十一)之package-lock.json
      package-lock.json描述对于npm修改node_modules树或package.json的任何操作,都会自动生成package-lock.json,它描述生成的确切树,以便后续安装能够生成相同的树,而不管中间依赖项更新如何。此文件拟提交至来源资料库,并可作以下用途:描述依赖关系树的单一表示形式,以确保队......
  • npm学习(十)之如何使用创建、发布、使用作用域包
      前言要求npm版本2或更高作用域用于将相关包分组在一起,并为npm模块创建一个名称空间(类似于域)。这里有更详细的解释。如果一个包的名称以@开头,那么它就是一个有作用域的包。范围是@和斜杠之间的所有内容。@scope/project-name每个npm用户都有自己的范围。@userna......
  • npm学习(九)之README.md文件
      包括文档(readme.md)npm建议您包含一个readme文件来记录您的包。自述文件必须有文件名readme.md。文件扩展名.md表示该文件是一个标记(markdown)文件。当有人发现您的包时,该文件将出现在npm网站上。在开始之前,请查看一些包页面,了解可以添加到readme文件中的信息,并了解为......