如何在项目中使用npm包的fork版本

46
假设有一个名为abcd的npm包。 通常在package.json中,我们将其指定为依赖项: "abcd": "^1.0.0", 但是这个abcd并不按预期工作,所以我在https://github.com/mygithubid/abcd中forked(并修改)了它。
然后我运行npm install git+https://git@github.com/mygithubid/abcd.git,在package.json中,定义已更改为: "abcd": "git+https://github.com/mygithubid/abcd.git", 重新启动使用此abcd的项目后,现在它抛出错误: 未找到模块:无法解析'abcd' 即使我看到abcd文件夹已添加到node_modules中。
请问我在上述过程中犯了什么错误?谢谢!

可能是如何直接从GitHub安装npm包?的重复问题。 - str
1
npm install github:mygithubid/abcd。check out - Himanshu sharma
实际上,新的 abcd 已经添加到 node_modules 中,但应用程序仍在抱怨 Module not found: Can't resolve 'abcd' - iwan
如果您不介意分叉并将其本地下载:https://dev59.com/BGYq5IYBdhLWcg3wkRYo - AIon
谢谢,Alon。如果我需要在本地下载,那会有点麻烦... 我尝试的是在 Github.com 上进行 fork 并在 Github.com 上进行修改。这不是常见的方法吗? - iwan
我遇到了完全相同的问题。你最终找到解决方案了吗? - kat
2个回答

32

7

请确保 GitHub 代码库中包含已编译的文件,在大多数情况下,您需要先为 npm 构建包,然后只将已编译的文件推送到 NPM。要了解如何构建包,请检查 package.json 文件。


1
你能提供更详细的步骤来“找出如何构建软件包”,或者至少参考一份指南吗? - lacostenycoder
@lacostenycoder 这取决于插件本身。不可能给出一个通用的答案。无论如何,如果你不知道从哪里开始,可以打开 package.json 文件并检查 scripts 属性,它通常包含一个 build 脚本。 - Sebj

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接