TL;DR
当 npm install 安装的包有问题,我们可以使用自己的包
本文详细介绍了如何使用 npm link 命令在项目中引用自定义的本地 npm 包,解决官方包存在 bug 或功能缺失的问题。作者以实际案例展示了从发现 hexo-jupyter-notebook 包的问题,到创建本地修改版本并在项目中链接使用的完整流程。文章还提供了 npm link 命令的具体用法和操作步骤的截图演示,为开发者提供了一种不需要反复手动修改 node_modules 的高效解决方案。
起因#
在 打造属于自己的本地 Go Playground,但不止于此 中为了使 hexo 博客显示 .ipynb 类型的文档,我使用了 hexo-jupyter-notebook 这个包,但是使用过程有点坑,遇到几个 bug,无论是 npm 官网上下载的包还是 Github 上的原始包都在我本地跑不通,虽然通过一些办法暂时 fix 了,但还需要手动替换掉 node_modules/ 里面的包。可是后面每次重新更新 node_modules/ 就还是回到原来的版本,然后再又手动更新,这样就比较麻烦了。
于是想着能不能让 npm 更新时使用我本地的包,查了一下还真有:-)
解决工具:npm link#
npm link 是一个非常有用的工具,它可以将一个本地开发中的包符号链接到全局 node_modules 目录,或者将其链接到其他本地项目。
创建符号链接(在你的包目录中):
cd /path/to/my-custom-packagenpm link在项目中链接该包:
cd /path/to/my-projectnpm link my-custom-package实践#
在操作之前,包依赖是这样:

操作过程:
