在本指南中,我将解释使用 npm 基础知识,例如安装包(本地和全局)、安装特定版本的包、更新、删除和管理 NodeJS 包等等。
-- Sk
致谢
编译自 | https://www.ostechnix.com/manage-nodejs-packages-using-npm/
作者 | Sk
译者 | MjSeven 共计翻译:35篇 贡献时间:96 天
前一段时间,我们发布了一个使用 pip 管理 Python 包
[1]
的指南。今天,我们将讨论如何使用 npm 管理 NodeJS 包。npm 是最大的软件注册中心,包含 600,000 多个包。每天,世界各地的开发人员通过 npm 共享和下载软件包。在本指南中,我将解释使用 npm 基础知识,例如安装包(本地和全局)、安装特定版本的包、更新、删除和管理 NodeJS 包等等。
安装 npm
用于 npm 是用 NodeJS 编写的,我们需要安装 NodeJS 才能使用 npm。要在不同的 Linux 发行版上安装 NodeJS,请参考下面的链接。
◈在 Linux 上安装 NodeJS
[2]
检查 node 安装的位置:
检查它的版本:
进入 Node 交互式解释器:
检查 npm 安装的位置:
还有版本:
棒极了!Node 和 npm 已安装好!正如你可能已经注意到,我已经在我的 目录中安装了 NodeJS 和 NPM,这样是为了避免在全局模块时出现权限问题。这是 NodeJS 团队推荐的方法。
那么,让我们继续看看如何使用 npm 管理 NodeJS 模块(或包)。
安装 NodeJS 模块
NodeJS 模块可以安装在本地或全局(系统范围)。现在我将演示如何在本地安装包(LCTT 译注:即将包安装到一个 NodeJS 项目当中,所以下面会先创建一个空项目做演示)。
在本地安装包
为了在本地管理包,我们通常使用 文件来管理。
首先,让我们创建我们的项目目录。
在项目目录中创建一个 文件。为此,运行:
输入你的包的详细信息,例如名称、版本、作者、GitHub 页面等等,或者按下回车键接受默认值并键入 确认。
上面的命令初始化你的项目并创建了 文件。
你也可以使用命令以非交互式方式执行此操作:
现在让我们安装名为commander
[3]
的包。
示例输出:
这将在项目的根目录中创建一个名为 的目录(如果它不存在的话),并在其中下载包。
让我们检查 文件。
你会看到添加了依赖文件,版本号前面的插入符号 ( ) 表示在安装时,npm 将取出它可以找到的最高版本的包。
文件的优点是,如果你的项目目录中有 文件,只需键入 ,那么 将查看文件中列出的依赖关系并下载它们。你甚至可以与其他开发人员共享它或将其推送到你的 GitHub 仓库。因此,当他们键入 时,他们将获得你拥有的所有相同的包。
你也可能会注意到另一个名为 的文件,该文件确保在项目安装的所有系统上都保持相同的依赖关系。
要在你的程序中使用已安装的包,使用实际代码在项目目录中创建一个 (或者其他任何名称)文件,然后使用以下命令运行它:
在全局安装包
如果你想使用一个包作为命令行工具,那么最好在全局安装它。这样,无论你的当前目录是哪个目录,它都能正常工作。
或者
要安装特定版本的包,我们可以:
更新 NodeJS 模块
要更新本地包,转到 所在的项目目录并运行:
然后,运行以下命令确保所有包都更新了。
如果没有需要更新的,那么它返回空。
要找出哪一个全局包需要更新,运行:
如果没有输出,意味着所有包都已更新。
更新单个全局包,运行:
更新所有的全局包,运行:
列出 NodeJS 模块
列出本地包,转到项目目录并运行:
如你所见,我在本地安装了 这个包。
要列出全局包,从任何位置都可以运行以下命令:
示例输出:
该命令将列出所有模块及其依赖关系。
要仅仅列出顶级模块,使用 选项:
寻找 NodeJS 模块
要搜索一个模块,使用 命令:
例如:
该命令将显示包含搜索字符串 的所有模块。
移除 NodeJS 模块
要删除本地包,转到项目目录并运行以下命令,这会从 目录中删除包:
要从 文件中的依赖关系中删除它,使用如下所示的 选项:
要删除已安装的全局包,运行:
清除 npm 缓存
默认情况下,npm 在安装包时,会将其副本保存在 目录中名为 的缓存文件夹中。所以,你可以在下次安装时不必再次下载。
查看缓存模块:
随着时间的推移,缓存文件夹会充斥着大量旧的包。所以不时清理缓存会好一些。
从 npm@5 开始,npm 缓存可以从 corruption 问题中自行修复,并且保证从缓存中提取的数据有效。如果你想确保一切都一致,运行:
清除整个缓存,运行:
查看 npm 配置
要查看 npm 配置,键入:
或者:
示例输出:
要显示当前的全局位置:
好吧,这就是全部了。我们刚才介绍的只是基础知识,npm 是一个广泛话题。有关更多详细信息,参阅NPM Getting Started
[1]
指南。
希望这对你有帮助。更多好东西即将来临,敬请关注!
干杯!
via:https://www.ostechnix.com/manage-nodejs-packages-using-npm/
作者:SK
[5]
译者:MjSeven校对:wxy
本文由LCTT原创编译,Linux中国荣誉推出
领取专属 10元无门槛券
私享最新 技术干货