1. 概述
npm 是一个包管理工具,它允许我们在使用 JavaScript 开发时安装库、框架以及其他工具。借助 npm,我们可以轻松访问 npmjs 官方仓库中发布的 Node.js 项目。但并不是所有包都发布在 npmjs 上。
在本文中,我们将介绍如何直接从 GitHub 公共仓库安装 npm 包,这对于测试尚未发布到 npm 的最新功能非常有用。
2. 准备工作
在开始之前,请确保你的系统中已经安装了 node.js、npm 和 git。
如果你要从私有 GitHub 仓库安装 npm 包,你需要一个 GitHub 账号,并配置好访问权限。
2.1. 安装 node.js 和 npm
首先更新系统软件包:
$ sudo apt update
然后安装 node.js 和 npm:
$ sudo apt install -y nodejs npm
该命令将安装 Node.js 和 npm。安装过程中,-y
参数会自动确认所有提示,加快安装过程。
2.2. 安装 git
在 Debian 系统上安装 git 非常简单:
$ sudo apt install -y git
这个命令将安装 git。同样,-y
参数会自动确认操作。
3. 从 GitHub 基础安装 npm 包
npm 支持直接从 GitHub 仓库安装 Node.js 项目,即使该包尚未发布到 npm 官方仓库。✅ 这在测试或调试新功能时非常有用。
3.1. 使用 HTTPS URL 安装
你可以使用 HTTPS URL 安装 GitHub 上的 npm 包,例如 express:
$ npm install https://github.com/expressjs/express
added 67 packages in 16s
12 packages are looking for funding
run `npm fund` for details
这表示你已成功从 GitHub 安装了 express 包。
3.2. 使用 git URL 安装
也可以使用 git 协议格式安装:
$ npm install git+https://github.com/expressjs/express
up to date, audited 68 packages in 9s
12 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
这种方式同样有效,npm 会从 GitHub 下载并安装该仓库。
3.3. 使用快捷 URL 安装
npm 还支持一种简写格式:
$ npm install expressjs/express
这种方式会自动识别为 GitHub 上的 expressjs/express
仓库。
4. 从指定分支、标签或提交安装
有时候我们希望安装特定版本的包,比如某个分支、tag 或 commit。
4.1. 安装特定分支
可以使用 #
后跟分支名来安装特定分支:
$ npm install https://github.com/expressjs/express#release-branch-diagram
4.2. 安装特定标签
同样,也可以安装某个 tag:
$ npm install https://github.com/expressjs/express#4.18.0
4.3. 安装特定提交
使用 commit 的 SHA 值安装特定提交:
$ npm install https://github.com/expressjs/express#d97d79ed9a25099ec4f0537ad8bf2a9378350a6b
5. 从私有 GitHub 仓库安装 npm 包
从私有仓库安装 npm 包需要额外配置,比如使用 Personal Access Token (PAT) 或 SSH。
5.1. 使用 GitHub Personal Access Token
首先,在项目根目录创建 .npmrc
文件并配置 token:
$ echo "//npm.pkg.github.com/:_authToken=github_pat_11BGNPQCQ0FQH52tVAPSkO_" > .npmrc
然后安装私有仓库中的包:
$ npm install git+https://github.com/EbukaNduka/Data_Converter.git
你也可以直接在 URL 中使用 token(不推荐):
$ npm install https://github_pat_11BGNPQCQ0FQH52tVAPSkO_@github.com/EbukaNduka/Data_Converter
⚠️ 注意:这种方式存在安全风险,不建议在生产环境使用。
5.2. 使用 SSH 安装
首先生成 SSH 密钥对:
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
生成完成后,将公钥添加到 GitHub 仓库的 Deploy Keys 或 SSH Keys 中。
然后使用 SSH 安装:
$ npm install git+ssh://git@github.com:EbukaNduka/Data_Converter.git
这种方式更安全,适合团队协作或 CI/CD 环境使用。
6. package.json 中的 GitHub 依赖与普通依赖对比
普通 npm 依赖和 GitHub 依赖的功能是一样的,但它们在 package.json
中的表示方式不同。
普通依赖示例:
{
"dependencies": {
"express": "^4.18.0"
}
}
GitHub 依赖示例:
{
"dependencies": {
"express": "github:expressjs/express#d97d79ed9a25099ec4f0537ad8bf2a9378350a6b"
}
}
GitHub 依赖会包含仓库地址和一个可选的 commit、tag 或分支名。
7. 总结
在本文中,我们介绍了几种从 GitHub 安装 npm 包的方法,包括:
✅ 使用 HTTPS、git、快捷 URL 安装公共仓库包
✅ 安装特定分支、tag 或 commit
✅ 使用 PAT 或 SSH 安装私有仓库包
✅ package.json 中的 GitHub 依赖格式
这些方法在开发中非常实用,尤其是在使用未发布功能或调试时。但在生产环境中,建议优先使用官方 npm 包以确保稳定性与安全性。