不久前,我们发布了一个指南 使用 PIP 管理 Python 包. 今天,我们将讨论如何使用 Npm 管理 NodeJS 包。 NPM 是最大的软件注册表,包含超过 600,000 个软件包。 每天,世界各地的开发人员都通过 npm 共享和下载包。 在本指南中,我将解释使用 npm 的基础知识,例如安装包(本地和全局)、安装某个版本的包、更新、删除和管理 NodeJS 包等。
内容
安装 NPM
由于 npm 是用 NodeJS 编写的,因此我们需要安装 NodeJS 才能使用 npm。 要在不同的 Linux 发行版上安装 NodeJS,请参阅以下链接。
- 如何在 Linux 上安装 NodeJS
安装后,确保 NodeJS 和 NPM 已正确安装。 有几种方法可以做到这一点。
要检查节点的安装位置,请运行以下命令:
$ which node /home/sk/.nvm/versions/node/v9.4.0/bin/node
检查它的版本:
$ node -v v9.4.0
登录节点 REPL 会话:
$ node > .help .break Sometimes you get stuck, this gets you out .clear Alias for .break .editor Enter editor mode .exit Exit the repl .help Print this help message .load Load JS from a file into the REPL session .save Save all evaluated commands in this REPL session to a file > .exit
检查 npm 的安装位置:
$ which npm /home/sk/.nvm/versions/node/v9.4.0/bin/npm
和版本:
$ npm -v 5.6.0
伟大的! Node 和 NPM 已安装并正在运行! 您可能已经注意到,我在 $HOME 目录中安装了 NodeJS 和 NPM,以避免在全局安装模块时出现权限问题。 这是 NodeJS 团队推荐的方法。
好吧,让我们继续看看如何使用 npm 管理 NodeJS 模块(或包)。
使用 Npm 管理 NodeJS 包
安装 NodeJS 模块
NodeJS 模块可以安装在本地或全局(系统范围)。 现在我将展示如何在本地安装包。
在本地安装包
要在本地管理包,我们通常使用 包.json 文件。
首先,让我们创建我们的项目目录。
$ mkdir demo
$ cd demo
在项目目录中创建一个 package.json 文件。 为此,请运行:
$ npm init
Enter 您的包的详细信息,例如名称、版本、作者、github 页面等,或者只需按 ENTER 键接受默认值并输入 是的 确认。
This utility will walk you through creating a package.json file. It only covers the most common items, and tries to guess sensible defaults. See `npm help json` for definitive documentation on these fields and exactly what they do. Use `npm install <pkg>` afterwards to install a package and save it as a dependency in the package.json file. Press ^C at any time to quit. package name: (demo) version: (1.0.0) description: demo nodejs app entry point: (index.js) test command: git repository: keywords: author: license: (ISC) About to write to /home/sk/demo/package.json: { "name": "demo", "version": "1.0.0", "description": "demo nodejs app", "main": "index.js", "scripts": { "test": "echo "Error: no test specified" && exit 1" }, "author": "", "license": "ISC" } Is this ok? (yes) yes
上面的命令初始化你的项目并创建 package.json 文件。
您也可以使用以下命令以非交互方式执行此操作:
$ npm init --y
这将使用默认值快速创建一个 package.json 文件,无需用户交互。
现在让我们安装名为 指挥官.
$ npm install commander
样本输出:
npm notice created a lockfile as package-lock.json. You should commit this file. npm WARN [email protected] No repository field. + [email protected] added 1 package in 2.519s
这将创建一个名为 “节点模块” (如果它不存在)在项目的根目录中并下载其中的包。
让我们检查一下 package.json 文件。
$ cat package.json { "name": "demo", "version": "1.0.0", "description": "demo nodejs app", "main": "index.js", "scripts": { "test": "echo "Error: no test specified" && exit 1" }, "author": "", "license": "ISC", "dependencies": { "commander": "^2.13.0" } }
您将看到已添加依赖项。 插入符号 (^) 版本号前面的符号表示安装时,npm 会拉取它所能找到的最高版本的包。
$ ls node_modules/ commander
package.json 文件的优点是,如果你的项目目录中有 package.json 文件,你只需键入“npm install”,npm 就会查看文件中列出的依赖项并下载所有依赖项。 您甚至可以与其他开发人员共享它或将其推送到您的 GitHub 存储库中,因此当他们键入“npm install”时,他们将获得与您拥有的所有相同的包。
您可能还注意到另一个名为 包-lock.json. 此文件可确保在安装项目的所有系统上依赖项保持相同。
要在程序中使用已安装的包,请创建一个文件 index.js(或您选择的任何名称)在项目目录中使用实际代码,然后使用命令运行它:
$ node index.js
全局安装包
如果你想使用一个包作为命令行工具,那么最好全局安装它。 这样,无论哪个目录是您的当前目录,它都可以工作。
$ npm install async -g + [email protected] added 2 packages in 4.695s
或者,
$ npm install async --global
要安装特定版本的软件包,我们执行以下操作:
$ npm install [email protected] --global
更新 NodeJS 模块
要更新本地包,请转到 package.json 所在的项目目录并运行:
$ npm update
然后,运行以下命令以确保所有包都已更新。
$ npm outdated
如果没有更新,则它不返回任何内容。
要找出需要更新哪些全局包,请运行:
$ npm outdated -g --depth=0
如果没有输出,则更新所有包。
要更新单个全局包,请运行:
$ npm update -g <package-name>
要更新所有全局包,请运行:
$ npm update -g <package>
列出 NodeJS 模块
要列出本地包,请转到项目目录并运行:
$ npm list [email protected] /home/sk/demo └── [email protected]
如您所见,我已经在本地模式下安装了“commander”包。
要列出全局包,请从任何位置运行此命令:
$ npm list -g
样本输出:
/home/sk/.nvm/versions/node/v9.4.0/lib ├─┬ [email protected] │ └── [email protected] └─┬ [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] [...]
此命令将列出所有模块及其依赖项。
要仅列出顶级模块,请使用 –depth=0 选项:
$ npm list -g --depth=0 /home/sk/.nvm/versions/node/v9.4.0/lib ├── [email protected] └── [email protected]
搜索 NodeJS 模块
要搜索模块,请使用“npm search”命令:
npm search <search-string>
例子:
$ npm search request
此命令将显示包含搜索字符串“request”的所有模块。
删除 NodeJS 模块
要删除本地包,请转到项目目录并运行以下命令从您的项目中删除该包 节点模块 目录:
$ npm uninstall <package-name>
从依赖项中删除它 包.json 文件,使用 保存 标志如下:
$ npm uninstall --save <package-name>
要删除全局安装的软件包,请运行:
$ npm uninstall -g <package>
清理 NPM 缓存
默认情况下,NPM 在安装时会将已安装包的副本保存在 $HOME 目录中名为 npm 的缓存文件夹中。 因此,您可以在下次安装它而无需再次下载。
查看缓存的模块:
$ ls ~/.npm
随着时间的推移,缓存文件夹会被所有旧包淹没。 最好不时清理缓存。
作为 [email protected],npm 缓存从损坏问题中自我修复,并且从缓存中提取的数据保证有效。 如果要确保一切一致,请运行:
$ npm cache verify
要清除整个缓存,请运行:
$ npm cache clean --force
查看 NPM 配置
要查看 npm 配置,请键入:
$ npm config list
或者,
$ npm config ls
样本输出:
; cli configs metrics-registry = "https://registry.npmjs.org/" scope = "" user-agent = "npm/5.6.0 node/v9.4.0 linux x64" ; node bin location = /home/sk/.nvm/versions/node/v9.4.0/bin/node ; cwd = /home/sk ; HOME = /home/sk ; "npm config ls -l" to show all defaults.
要显示当前的全球位置:
$ npm config get prefix /home/sk/.nvm/versions/node/v9.4.0
而且,这就是现在的全部。 我们刚刚在这里介绍的只是基础知识。 NPM 是一个庞大的话题。 欲了解更多详情,请前往 NPM 入门 指导。
感谢您的光临!
帮助我们帮助您:
- 订阅我们的电子邮件通讯: 立即注册
- 支持 OSTechNix: 通过贝宝捐款
- 下载免费的电子书和视频: TradePub 上的 OSTechNix
- 联系我们: 红迪网 | Facebook | 推特 | 领英 | RSS订阅
祝你有美好的一天!!
JavaScriptLinux管理 NodeJS 包NodejsNpm