如何从 GitHub 上直接安装 npm 包

1. 什么是npm包?

npm(Node Package Manager)是Node.js的包管理器,是世界上最大的软件注册表之一,使开发人员可以轻松地安装、更新和共享代码包。npm包是Node.js模块的集合,其中包括库、框架、工具、插件和应用程序。安装npm包的最浅显的方法是使用npm cli,但我们也可以从GitHub上直接安装npm包。

2. 从GitHub上安装npm包的好处

相对于从npm注册表上安装npm包,从GitHub上安装包有以下好处:

可以更好的实现主题的定制;

可以访问包的源代码;

我们可以根据个人的需求对包进行模块化的修改并提交给原作者。

3. 从GitHub上直接下载npm包

3.1 下载压缩包

从GitHub上下载npm包包括两个步骤。第一个步骤是下载包的压缩包,可以通过GitHub或者git命令来获取。在以下的例子中,我们将下载prettier的npm包,通过GitHub获取压缩包的过程如下:

https://github.com/prettier/prettier/archive/refs/tags/2.4.1.tar.gz

通过上述URL获取了prettier 2.4.1的压缩包,将得到一个.tar.gz的文件。我们可以在本地解压以获得源代码。

3.2 下载源代码

得到压缩包之后,需要我们解压它并获取源代码。利用以下的命令来解压我们得到的prettier的2.4.1版本:

tar -xzf prettier-2.4.1.tar.gz

解压完成后,我们可以通过ls命令来查看获取的源代码:

ls prettier-2.4.1

通过以上的方法,我们已经成功获取prettier这个包的源代码了。然而,这么获得的源代码不能当作一个真正的npm包推广。接下来,我们将教你如何完成从GitHub上获取的源代码到定制npm包的全过程。

4. 定制GitHub上的源代码为npm包

4.1 构建npm包

在下面的例子中,我们解释如何将prettier的源代码构建为一个npm包。如果有必要,你可以在你的npm包中添加一些配置文件,比如package.json文件。以下是如何在你的项目中添加一个package.json文件的方法:

cd prettier-2.4.1

npm init

按照npm init命令的提示输入信息,可以填写包名、版本号、描述、入口文件、x-author和licenses等信息。注意:入口文件应该是你的项目需要被运行的脚本文件名,而不是你的可执行文件或其他文件的名字。

以prettier的package.json文件为例:

{

"name": "prettier",

"version": "2.4.1",

"description": "Opinionated Code Formatter",

"author": "Prettier Contributors",

"bin": {

"prettier": "./bin-prettier.js"

},

"license": "MIT",

"repository": {

"type": "git",

"url": "https://github.com/prettier/prettier.git"

},

"keywords": [

"prettier",

"code",

"formatter",

"style",

"lint",

"automatic"

],

"dependencies": {

"chalk": "^4.1.0",

"doctrine": "^3.0.0",

"fast-deep-equal": "^3.1.1",

"jest-worker": "^26.5.0",

"picomatch": "^2.3.0",

"resolve": "^1.18.1",

"semver": "^7.3.2",

"tslib": "^2.2.0"

},

"devDependencies": {

"codecov": "^3.7.0",

"eslint": "^7.29.0",

"eslint-config-prettier": "^8.3.0",

"husky": "^4.3.7",

"jest": "^26.6.3",

"prettier": "^2.4.1",

"rimraf": "^3.0.2",

"standard-version": "^9.4.0",

"typescript": "^4.3.2"

}

}

构建完成你的npm包的Package.json文件后,使用下面的命令,进行构建,安装本地依赖内容,其中package-lock.json是由npm install命令之后自动生成的:

npm install

npm build

4.2 发布npm包

有了构建好的npm包,我们就可以开始发布它了。通过登录到你的npm账号,发布包有多种方式,这里给出较为常用的一种方式:

npm login

npm publish

您的精心打造的node包就可以通过npm install命令进行安装了。

5. 总结

通过本文,我们学到了如何从GitHub上直接安装npm包,同时又介绍了一些方法将我们从GitHub上获取到的源码打包为可被推广的npm包。我们深入讨论了要如何创建Package.json、安装本地依赖、构建你的npm包和发布npm包。