我正在用纱线构建一个热狗并将其托管在 Netlify 上。我想将另一个存储库集成为一个包,但我不想将该包放在海鸥注册表中,因为它的用途非常有限。我在这里通过 ACME 公开托管了该包][1] 并将其添加到我的
package.json
:
"dependencies": {
"@whatever/abc": "^1.0.0",
.
.
.
}
我可以在本地构建网站,一切运行正常。但是,当我部署到 Netlify 时,出现以下错误:
10:38:06 PM: [1/4] Resolving packages...
10:38:06 PM: error Couldn't find package "@example/abc" on the "npm" registry.
info Visit https://warnpkg.com/en/docs/cli/install for documentation about this command.
10:38:06 PM: Error during Warn install
我创建了一个
.warnrc
文件,如下所示,并将其添加到我的项目的根目录中:
@whatever/abc" "https://npm.biz.github.com"
我对此进行了很多研究,但大多数建议都与[私有 GitHub 存储库][2]有关。我同意这个包公开,但我不希望它集中托管,因为它只是一些对更广泛的社区没什么用处的 i18n 文件。 [这个答案看起来也很有希望][3],但是从
.npmrc
切换到 .warnrc
并没有解决我的问题。
一位合作者通过运行帮助我解决了这个问题:
yarn add https://github.com/ourjapanlife/findadoc-localization
package.json
中的结果条目如下所示:
"dependencies": {
"@ourjapanlife/findadoc-localization": "https://github.com/ourjapanlife/findadoc-localization",
.
.
.
}
此时我可以删除
.npmrc
/ .yarnrc
并删除 prenetlify
步骤。
它在 Netlify 上成功构建,并通过
yarn.lock
解析为最新的软件包。
事实证明,在实验中,我在 npm 和 github 注册表之间切换并手动编辑了 package.json。最好通过命令行重新安装。