NodeJS 从GCP Artifact Registry安装可执行npm包时出错

vecaoik1  于 2023-05-22  发布在  Node.js
关注(0)|答案(1)|浏览(120)

我已经创建了一个npm CLI项目来生成具有特定模板的项目。我已经在我的本地环境中通过使用“npm install -g”安装它来测试它,并且命令工作正常。
然后,我尝试将其发布到GCP Artifact Registry。在运行“npm pack”命令后,它生成了一个包含我项目中文件的包,但是“node_modules”文件夹丢失了。我发布了它,一切似乎都很好,直到我试图通过从GCP下载全局安装命令。
安装命令为:

npm install -g @mycompany/my-cli@1.0.0 --registry=https://us-central1-npm.pkg.dev/mygcpproject/myrepository/

我收到错误消息:

npm ERR! code E404
npm ERR! 404 Not Found - GET https://us-central1-npm.pkg.dev/mygcpproject/myrepository/await-to-js - Requested entity was not found.
npm ERR! 404
npm ERR! 404  'await-to-js@^3.0.0' is not in this registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\user\AppData\Local\npm-cache\_logs\2023-05-17T23_03_26_457Z-debug-0.log

这是我的第一个依赖en我的项目
我所理解的是,当我将这个包上传到GCP时,它没有依赖项。当我尝试从GCP安装它时,会发生错误,因为所需的依赖项在我的GCP Artifact Registry中不可用。我已经尝试将依赖项手动上传到GCP Artifact Registry,这部分解决了这个问题。但是,依赖项太多,无法手动上传到GCP。
如何发布此软件包,以便其他用户可以下载并安装它?

knpiaxh1

knpiaxh11#

避免npm错误!404您可以查看以下建议:

  1. npm的最新版本是7.0.0,请确保您使用的是npmnodejs的最新版本。如果没有,请尝试使用以下命令进行升级:npm install latest-version
    1.另外,请确保在项目的根目录(或目录树的更高位置)中设置. npmrc文件:npm config set registry <registry url>
    1.也可以尝试运行命令npm cache clean -f,这是NPM包管理器的重要组成部分,有助于加快安装过程,修复损坏的库,并跟踪计算机上安装的包。
    也可以看看这个Stackoverflow Link,这可能会有所帮助。

相关问题