npm 安装并构建分叉的 github 存储库

2023-12-12

我正在为我的角度应用程序使用一个名为“角度翻译”的模块。但是,我必须对源代码进行一些小的修改,以使一切按照我想要的方式工作,现在我想将这些更改保留在npm install。一位同事建议我分叉源代码的存储库,并将我的分叉存储库作为依赖项,我已经尝试过这些方式,例如

npm install https://github.com/myRepo/angular-translate
npm install https://github.com/myRepo/angular-translate/archive/master.tar.gz

第一个给了我一个这样的目录,没有构建。只是一个 package.json、.npmignore 和一些 markdown 文件

-angular-translate
   .npmignore 
   .nvmrc
    CHANGELOG.md 
    package.json
    etc

第二npm install给了我完整的存储库,但我再次没有得到像使用命令时那样的构建npm install angular-translate。我已经看到一些关于运行预发布脚本的讨论,但我不确定在安装所有模块时如何执行此操作。我还尝试将 fork 作为我自己的模块发布到 npm 注册表,但我再次没有得到任何构建,而且我不确定这是正确的做法......

对于我对这个话题的无知,我深表歉意。我对 npm 没有丰富的经验。希望获得有关此问题的一些反馈。当需要修改包的源代码时,这似乎是一个很常见的问题?也许有更好的解决方案?


Try npm install <ghusername>/<repoName>, where <ghUsername>是您的 GitHub 用户名(不带@) and <repoName>是存储库的名称。那应该正确安装它。您很可能想使用--save or --save-dev使用 install 命令进行标记以将依赖项保存在您的package.json.

如果无法正常工作,请检查您的内容.npmignore file.

如果安装命令需要很长时间,请不要惊慌;从 git 存储库安装比从 npm 注册表安装慢。


Edit:

你的问题是,就你的情况而言,dist/不致力于回购(因为它在.gitignore)。这就是实际代码所在的地方。dist/是从以下文件构建的src/在将包发布到 npm 注册表之前,但是dist/从未承诺回购。

它很丑陋,但在这种情况下你必须删除dist/来自.gitignore然后运行:

npm run build
git add .
git commit
git push

(确保您已运行npm install first)

然后你应该能够从 github 安装。

可能还有另一种方法可以使用prepare脚本,但我不确定这是否可能;我从来没有尝试过。Edit:卡梅伦·塔克林德 (Cameron Tacklind) 写了一篇出色的答案,详细说明了如何做到这一点:https://stackoverflow.com/a/57829251/7127751

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

npm 安装并构建分叉的 github 存储库 的相关文章

随机推荐