我有一个 npm 软件包,必须能够从 Gitlab 安装(不是 npm 注册表或任何其他注册表)。
我创建了一个名为
gitlab-release
的发布分支,我在其中运行 npm pack
创建了一个 .tgz
文件。
当我将其放入 pacakge.json 中时,它会获取整个存储库并将其放入 node_modules 中:
"@team/ui-package": "git+https://gitlab-<corp>.net/<team>/<project>/ui-package#gitlab-release"
当我的 package.json 中有此内容时,我收到以下错误:
"@team/ui-package": "https://gitlab-<corp>.net/<team>/<project>/ui-package/-/archive/gitlab-release/project-ui-package-9.2.0.tar.tgz."
npm ERR! code ENOPACKAGEJSON
npm ERR! package.json Non-registry package missing package.json: @team/ui-package@https://gitlab-<corp>.net/<team>/<project>/ui-package/-/archive/gitlab-release/project-ui-package-9.2.0.tar.tgz.
npm ERR! package.json npm can't find a package.json file in your current directory.
npm ERR! A complete log of this run can be found in:
该网址本身会下载 .tgz 文件。
当我尝试使用我刚刚下载的本地 .tgz 文件时,它按预期工作。
如何对 Gitlab 存储库中托管的 tgz 文件执行
npm install
?
也许我错了,但在检查你的错误消息后,似乎 package.json 文件可能丢失了。尝试检查 package.json 文件是否存在于存档的根目录中。如果不是,请检查它是否位于子目录中。