GCP에서 호스팅되는 비공개 npm 레지스트리에 여러 npm 패키지를 게시했으며 레지스트리에서 모든 버전을 볼 수 있습니다. 그러나 설치 명령이 E404를 발생시키므로 패키지를 다운로드할 수 없습니다.
페이지를 다운로드하려고 할 때 NPM에서 일반 404 오류가 발생합니다.
npm ERR! code E404
npm ERR! 404 Not Found - GET https://europe-north1-npm.pkg.dev/[Project]/@[scope]/[packagename]/-/@[scope]/[packagename]-0.1.0.tgz
npm ERR! 404
npm ERR! 404 '@[scope]/[packagename]@https://europe-north1-npm.pkg.dev/[Project]/@[scope]/[packagename]/-/@[scope]/[packagename]-0.1.0.tgz' is not in the npm 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.
해결하려는 url을 열면 다음 오류가 반환됩니다.
{"error":"Permission \"artifactregistry.repositories.downloadArtifacts\" denied on resource \"projects/[Project]/locations/europe-north1/repositories/@[scope]\" (or it may not exist)"}
{"error":"Unmatched scope name: \"\" != \"@[scope]\""}
추가로 확인했고 실제로 내 계정은 아티팩트 역할을 다운로드해야 합니다. 동일한 구성으로 npm view
패키지를 게시하고 실행할 수 있기 때문에 URL을 확인할 수 없는 이유를 알 수 없습니다 . 나는 새로운 패키지를 만들고, 버전을 지정하고, 인증 토큰을 재설정하려고 시도했지만 어떤 이유에서인지 여전히 패키지를 다운로드할 수 없습니다.
도움이된다면 현재 .npmrc 파일은 다음과 같습니다.
registry:https://registry.npmjs.org/=true
@[scope]:registry=https://europe-north1-npm.pkg.dev/[project]/[repo name]/
//europe-north1-npm.pkg.dev/[project]/[repo name]/:_authToken=[gcp auth token]
//europe-north1-npm.pkg.dev/[project]/[repo name]/:always-auth=true
//registry.npmjs.org/:_authToken=[npm auth token]
이것은 GCP 특정 문제가 아니라 GCP에 게시할 때 Yarn Berry 문제인 것으로 나타났습니다. 생성되는 tarballURL은 잘린 레지스트리 URL을 사용하므로 패키지를 설치하려고 할 때 404가 표시됩니다. 이에 대한 수정 사항이 여기에서 제안되었습니다. https://github.com/yarnpkg/berry/pull/3513
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다