Npm学习(3)如何安装本地包,更新本地安装包,卸载本地安装包

科技网编2023-04-09 12:262120

如何安装本地包

有两种方式用来安装 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
varlodash=require('lodash');

varoutput=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)是个好习惯。因为依赖包的开发者更新了代码,你的应用也就能够获得提升。

为了完成这个任务需要:

在package.json文件所在的目录中执行npm update <package>命令。
执行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` 命令 #=>

评论区