Skip to content

Commit 87cddbc

Browse files
committed
chore: remove .npmrc from git tracking
1 parent e9a8bd3 commit 87cddbc

File tree

3 files changed

+123
-3
lines changed

3 files changed

+123
-3
lines changed

.gitignore

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ out/
2727
build
2828
dist
2929

30-
3130
# Debug
3231
npm-debug.log*
3332
yarn-debug.log*
@@ -38,4 +37,6 @@ yarn-error.log*
3837
*.pem
3938

4039
# src
41-
./src
40+
./src
41+
42+
.npmrc

.npmrc

Whitespace-only changes.

DEPLOY.md

Lines changed: 120 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
```
1212

1313
- 로그인되어 있지 않다면: `npm login`
14+
- **2FA가 활성화된 조직의 경우:** Granular Access Token 사용 권장 (아래 "2단계 인증 오류" 참조)
1415

1516
2. **프로젝트 루트로 이동**
1617

@@ -138,7 +139,125 @@ npm error 404 Not Found - You do not have permission to access it.
138139
- `npm login`으로 재로그인
139140
- npm 조직 권한 확인 (https://www.npmjs.com/org/mash-up-web-toolkit)
140141

141-
### 3. Changeset 파일 누락
142+
### 3. 2단계 인증 (2FA) 오류
143+
144+
```
145+
npm error 403 Two-factor authentication or granular access token with bypass 2fa enabled is required to publish packages.
146+
```
147+
148+
**해결 방법:**
149+
150+
**방법 1: Granular Access Token 사용 (권장)**
151+
152+
1. npm 웹사이트에서 토큰 생성:
153+
154+
- https://www.npmjs.com/settings/[사용자명]/tokens 접속
155+
- "Generate New Token" → "Granular Access Token" 선택
156+
- 권한: `Publish` 선택
157+
- 조직: `mash-up-web-toolkit` 선택
158+
- "Bypass 2FA" 옵션 활성화 (가능한 경우)
159+
160+
2. 토큰을 `.npmrc` 파일에 설정:
161+
162+
```bash
163+
echo "//registry.npmjs.org/:_authToken=YOUR_TOKEN_HERE" >> .npmrc
164+
```
165+
166+
3. 또는 환경 변수로 설정:
167+
```bash
168+
export NPM_TOKEN=YOUR_TOKEN_HERE
169+
```
170+
171+
**방법 2: `--otp` 옵션 사용 (간단한 방법)**
172+
173+
배포할 때마다 2FA 코드를 직접 입력:
174+
175+
```bash
176+
# 개별 패키지 배포 시
177+
cd packages/cli/generate-api-config
178+
pnpm publish --otp=123456 --access public
179+
180+
# 또는 전체 배포 스크립트 수정 필요 없이 직접 실행
181+
npm publish --otp=123456 --access public
182+
```
183+
184+
**단점:** 매번 2FA 코드를 입력해야 함
185+
186+
**방법 3: npm 재로그인 (세션 유지)**
187+
188+
1. npm 재로그인 (2FA 코드 입력):
189+
190+
```bash
191+
npm login
192+
```
193+
194+
- 이메일, 비밀번호, 2FA 코드 입력
195+
- 세션이 유지되는 동안 배포 가능
196+
197+
2. 배포:
198+
```bash
199+
pnpm publish:all
200+
```
201+
202+
**단점:** 세션이 만료되면 다시 로그인 필요
203+
204+
**방법 4: npm 계정에 2FA 활성화**
205+
206+
1. npm 웹사이트에서 2FA 활성화:
207+
208+
- https://www.npmjs.com/settings/[사용자명]/profile 접속
209+
- "Two-Factor Authentication" 활성화
210+
211+
2. 배포 시 2FA 코드 입력
212+
213+
### 4. Git Unclean Working Tree 오류
214+
215+
```
216+
ERR_PNPM_GIT_UNCLEAN Unclean working tree. Commit or stash changes first.
217+
```
218+
219+
**해결 방법:**
220+
221+
**방법 1: 변경사항 커밋 (권장)**
222+
223+
```bash
224+
# 변경사항 확인
225+
git status
226+
227+
# 변경사항 커밋
228+
git add .
229+
git commit -m "chore: update deploy guide and npmrc"
230+
git push origin main
231+
232+
# 배포 재시도
233+
pnpm publish:all
234+
```
235+
236+
**방법 2: 변경사항 Stash (임시 저장)**
237+
238+
```bash
239+
# 변경사항 임시 저장
240+
git stash
241+
242+
# 배포
243+
pnpm publish:all
244+
245+
# 변경사항 복원 (필요한 경우)
246+
git stash pop
247+
```
248+
249+
**방법 3: Git 체크 비활성화 (비권장)**
250+
251+
```bash
252+
# 개별 패키지 배포 시
253+
pnpm publish --no-git-checks --access public
254+
255+
# 또는 package.json의 publish 스크립트에 --no-git-checks 추가
256+
```
257+
258+
**참고:** `.npmrc` 파일은 이미 `.gitignore`에 포함되어 있어 Git에 커밋되지 않습니다.
259+
260+
### 5. Changeset 파일 누락
142261

143262
배포 전에 반드시 `pnpm changeset`을 실행하여 변경사항을 문서화해야 합니다.
144263

0 commit comments

Comments
 (0)