GitHub Packages에서 여러 패키지를 하나의 리포지토리에 등록
6819 단어 npmGitHubPackagesNode.js
여기에서는, npm용의 패키지를 GitHub Packages를 사용해, GitHub상의 1개의 리포지토리에 등록하는 순서를 정리한다. (기본적으로는 "GitHub Packages 정보"의 순서에 따르면 된다)
GitHub 리포지토리의 PAT 생성
우선 「GitHub Packages 정보」의 「토큰 정보」을 참고로 패키지를 등록하고 싶은 리포지토리의 Personal Access Token(PAT)을 작성한다. 토큰의 범위(권한)는 "토큰 정보"에 쓰여진 것처럼 패키지를 등록하는데 필요한 것을 올바르게 설정해야 한다.
npm 설정
GitHub Packages에서 사용할 수 있도록 npm 설정 을 참고로 npm
의 설정인 .npmrc
로 패키지의 존재 여부를 나타내는 registry
를 설정한다.
GitHub Packages에서는, 패키지 게시\.npmrc)에 다음과 같은 설정을 추가한다.
.npmrc@GitHubのユーザ名:registry https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=リポジトリのPAT
이 설정을 설정하면 범위에 따라 패키지의 등록 및 취득 대상을 변경할 수 있습니다.
package.json 설정
패키지의 등록처는 .npmrc
로 설정한다. GitHub의 리포지토리 1개당, 몇개의 패키지를 등록할지에 따라 쓰는 방법이 바뀌어 온다.
1 리포지토리에 1 패키지의 경우
Associating a scope with a registry 을 참고로, package.json
필드의 스코프=GitHub의 유저명, 패키지명=리포지토리명이 되도록(듯이) 설정한다.
package.json{
"name": "@GitHubのユーザ名/リポジトリ名",
...
}
1 리포지토리에 여러 패키지의 경우
패키지 게시 을 참고로 name
필드를 다음과 같이 설정한다.
package.json{
"name": "@GitHubのユーザ名/パッケージ名",
"repository": {
"type": "git",
"url": "https://github.com/GitHubのユーザ名/リポジトリ名.git",
"directory": "リポジトリ内でこのpackage.jsonが含まれるディレクトリ※"
},
...
}
repoisitory
는 npm publish
매번 수행되므로 하나의 리포지토리에서 여러 패키지의 소스를 개발할 때 package.json
가 여러 개 존재합니다. 따라서 리포지토리의 어디에 대상 패키지의 package.json
가 있는지를 나타내기 위해 ※로 표시된 package.json
를 사용한다.
예를 들어, 리포지토리에 3개의 패키지가 directory
디렉토리 이하에 packages
~ package1
와 같이 존재해, 그 바로 아래에 package3
GitHub Packages에서 사용할 수 있도록 npm 설정 을 참고로
npm
의 설정인 .npmrc
로 패키지의 존재 여부를 나타내는 registry
를 설정한다.GitHub Packages에서는, 패키지 게시\.npmrc)에 다음과 같은 설정을 추가한다.
.npmrc
@GitHubのユーザ名:registry https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=リポジトリのPAT
이 설정을 설정하면 범위에 따라 패키지의 등록 및 취득 대상을 변경할 수 있습니다.
package.json 설정
패키지의 등록처는 .npmrc
로 설정한다. GitHub의 리포지토리 1개당, 몇개의 패키지를 등록할지에 따라 쓰는 방법이 바뀌어 온다.
1 리포지토리에 1 패키지의 경우
Associating a scope with a registry 을 참고로, package.json
필드의 스코프=GitHub의 유저명, 패키지명=리포지토리명이 되도록(듯이) 설정한다.
package.json{
"name": "@GitHubのユーザ名/リポジトリ名",
...
}
1 리포지토리에 여러 패키지의 경우
패키지 게시 을 참고로 name
필드를 다음과 같이 설정한다.
package.json{
"name": "@GitHubのユーザ名/パッケージ名",
"repository": {
"type": "git",
"url": "https://github.com/GitHubのユーザ名/リポジトリ名.git",
"directory": "リポジトリ内でこのpackage.jsonが含まれるディレクトリ※"
},
...
}
repoisitory
는 npm publish
매번 수행되므로 하나의 리포지토리에서 여러 패키지의 소스를 개발할 때 package.json
가 여러 개 존재합니다. 따라서 리포지토리의 어디에 대상 패키지의 package.json
가 있는지를 나타내기 위해 ※로 표시된 package.json
를 사용한다.
예를 들어, 리포지토리에 3개의 패키지가 directory
디렉토리 이하에 packages
~ package1
와 같이 존재해, 그 바로 아래에 package3
{
"name": "@GitHubのユーザ名/リポジトリ名",
...
}
{
"name": "@GitHubのユーザ名/パッケージ名",
"repository": {
"type": "git",
"url": "https://github.com/GitHubのユーザ名/リポジトリ名.git",
"directory": "リポジトリ内でこのpackage.jsonが含まれるディレクトリ※"
},
...
}
package.json
의 package1
에 directory
를 설정한다.package.json
{
"name": "@GitHubのユーザ名/package1",
"repository": {
"type": "git",
"url": "https://github.com/GitHubのユーザ名/リポジトリ名.git",
"directory": "packages/package1"
},
...
}
packages/package1
를 잘못해도 특별히 문제 없었으므로, 동작에 필요한 정보가 아닐지도 모른다.패키지 publish
동일한 리포지토리에 여러 패키지 게시 을 참고로 npm의 CLI로 로그인한다. directory
에서 각 범위에 대해 리포지토리에 대한 PAT를 구성한 경우 다음과 같이 로그인하여 .npmrc
명령이 GitHub 리포지토리에 패키지를 등록 할 수 있습니다.
npm login
> Username: GitHubのユーザ名
> Password: リポジトリのPAT
> Email: GitHubのメールアドレス
로그인 할 수 있으면 npm
가있는 디렉토리에서 package.json
명령을 실행하여 npm publish
의 설정에 따라 패키지를 GitHub의 리포지토리에 등록합니다.
패키지의 등록이 성공하면, GitHub의 리포지토리 일람이나 리포지토리의 화면에 패키지가 존재하는 것이 표시되게 된다.
GitHub Packages에 인증하기
Reference
이 문제에 관하여(GitHub Packages에서 여러 패키지를 하나의 리포지토리에 등록), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/stm32p103/items/f1d63b66c34706784a8d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
npm login
> Username: GitHubのユーザ名
> Password: リポジトリのPAT
> Email: GitHubのメールアドレス
Reference
이 문제에 관하여(GitHub Packages에서 여러 패키지를 하나의 리포지토리에 등록), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/stm32p103/items/f1d63b66c34706784a8d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)