我正在为我的角度应用程序使用一个名为“角度翻译”的模块。但是,我必须对源代码进行一些小的修改,以使一切按照我想要的方式工作,现在我想将这些更改保留在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(使用前将#替换为@)