이번 노트에서는 이전 영상에서 제가 직접 만든 패키지를 npm 공개 저장소에 업로드해보겠습니다. 혹시 자신이 만든 패키지를 업로드하고 싶은 분은 아래 절차를 따라 해보세요.
1. npm 회원가입
1> 먼저 npm 공식 홈페이지에서 화면 우측 상단의 Sign up 버튼을 누르세요.
2> 그다음 사용할 사용자 이름(Username)과 이메일 주소, 비밀번호를 입력한 후, '약관 동의' 버튼에 체크하고, Create an Account 버튼을 클릭하세요.
3> 회원 가입을 마쳤으면, Sign in 버튼을 클릭해서 로그인하세요.
4> 사용자 이름과 비밀번호를 입력하고 Sign In 버튼을 클릭하세요.
5> 그럼 이렇게 화려한 메인 화면이 보이는데요. 관심이 있는 분들은 화면의 여러 기능을 직접 사용해보세요.
화면 상단을 보면 아직 제가 이메일 인증을 하지 않았다는 경고 문구가 보입니다. 이메일 인증까지 마쳐야 나중에 패키지를 업로드할 수 있습니다. 화면 상단의 'Do you need us to send it again?' 부분을 클릭하고, 회원가입할 때 입력했던 이메일로 가세요.
6> 그럼 이렇게 인증 링크가 담긴 이메일이 와있을 겁니다. 인증 링크를 클릭하세요.
7> 이제 이메일 인증이 완료되었습니다. Continue 버튼을 누르세요.
8> 그럼 다시 메인 화면으로 돌아갑니다.
자, 이제 제 패키지를 업로드해봅시다.
2. 패키지 업로드(publish)
(1) 패키지 업로드
1> 먼저 터미널을 실행합시다.(VScode의 내장 터미널을 사용하셔도 됩니다) 그리고
npm login
이라고 쓰고 엔터를 쳐보세요. 그럼 사용자 이름과 비밀번호를 입력할 수 있는데요. 방금 가입할 때 썼던 아이디와 비밀번호를 입력하고 엔터를 치세요. 비밀번호는 입력해도 입력된 것처럼 보이지 않으니까 그냥 입력하고 엔터를 치면 됩니다.
2> 그럼 로그인이 완료됩니다. 그다음
npm whoami
라고 쓰고 실행해보면 지금 인증된 사용자가 누구인지 확인할 수 있습니다. codeit-teacher라고 잘 뜨죠? 여러분은 여러분의 사용자 이름이 뜰 겁니다.
3> 자, 이제 바로 패키지를 npm 저장소에 공개할 수 있습니다.
npm publish
라는 명령어를 쓰고 엔터를 쳐보세요.
자, 이렇게 codeit_node_study@1.0.0이라는 패키지가 npm 저장소에 업로드되었습니다. 이미 첫 번째로 codeit_node_study라는 패키지를 올린 수강생 분이 있다면 더 이상 같은 이름의 패키지는 업로드할 수 없습니다. 따라서 package.json 파일에서 패키지 이름 부분을 여러분이 원하는 대로 다른 이름으로 수정하고 업로드해주세요! 참고로 이렇게 [패키지 이름]@[버전] 형식의 명칭으로 하나의 고유한 패키지를 식별할 수 있다는 점을 기억하세요.
4> 정말로 공개가 잘 되었는지 홈페이지에서 직접 확인해보겠습니다.
codeit-node-study라고 검색했더니 정말로 패키지가 잘 보이네요.
자, 이렇게 간단하게 자신의 패키지를 업로드할 수 있다는 게 정말 신기하죠? 앞으로 자바스크립트와 Node.js 공부를 열심히 하고 여러분 나름의 멋진 패키지를 만들어서 이렇게 npm 공개 저장소에 올리는 걸 목표로 해보는 건 어떨까요?
(2) 패키지 버전 업데이트
하나의 패키지는 시간이 지날수록 발전합니다. 패키지에 새로운 코드와 파일들이 추가되거나 기존의 코드가 수정되는 작업이 반복되면서 말이죠. 이때 이전 노트에서 설명했던 것처럼 그 내용에 맞게 Semantic Version을 업데이트해줘야 하는데요. 이렇게 버전을 업데이트한 후에는 npm 저장소에도 새 버전의 패키지를 올려주면 좋겠죠? 그 방법을 한번 알아보겠습니다.
1> 일단 현재 패키지가 업그레이드되었다고 가정하고 패키지 버전을 업데이트해보겠습니다. 패키지의 버전을 업데이트 하려면
npm version
이라고 쓰고 그 뒤에 새로운 버전을 써주면 됩니다. 저는 원래 1.0.0 버전이었으니까 패치 버전만 업데이트해서 1.0.1이라고 한번 써볼게요.
그리고 나서는 쉽습니다. 그냥 또
npm publish
를 해주면 됩니다.
그럼 마찬가지로 새로운 버전의 패키지도 npm 공개 저장소에 잘 업로드됩니다.
2> 원래의 패키지 화면을 새로고침하고 Versions 라는 탭을 클릭해보면, 이때까지의 패키지 히스토리를 볼 수 있습니다. 이전에 올린 1.0.0 버전과 방금 올린 1.0.1 버전이 잘 보이죠?
3> 그다음 저는 버전을 1.0.0 → 1.0.1 → 1.1.0 → 2.0.1 로 계속 올리고 매번 publish를 해봤는데요. 그리고 나서 다시 확인해보면 아래 이미지처럼 각 버전이 모두 잘 보입니다.
(3) 공개된 패키지 다시 내리기
1> 만약 공개된 패키지를 다시 npm 저장소에서 없애고 싶다면 어떻게 해야 할까요? 만약 특정 버전의 패키지만 없애고 싶다면
npm unpublish [패키지 이름]@[버전]
형식의 명령어를 입력해주면 됩니다. codeit_node_study 패키지 1.0.1 버전을 npm 저장소에서 없애볼게요.
그다음 확인해보면(반영되는데 시간이 좀 걸릴 수도 있습니다)
2> 1.0.1 버전만 깔끔하게 사라진 것을 확인할 수 있습니다.
3> 그렇다면 만약 모든 버전의 패키지를, 없애고 싶다면 어떻게 해야 할까요? 그럴 때는
npm unpublish [패키지 이름] --force
라고 쓰면 됩니다. 패키지의 모든 버전을 npm 저장소에서 삭제하는 건 위험한 작업이기 때문에 --force(강제로 실행하다) 옵션을 줘야 실행할 수 있는데요. 실행해보면,
"I sure hope you know what you are doing(당신이 지금 무슨 작업을 하는지를 알고 있기를 바랍니다)"이라는 경고 문구가 뜨네요.
다시 웹 페이지에서 확인해보면
같은 URL을 새로고침했는데 이제는 codeit_node_study 패키지가 존재하지 않는다고 뜨네요. 공개한 패키지를 삭제하는 것도 어렵지 않죠?
'develop > Node' 카테고리의 다른 글
패키지 간 의존 관계의 위험성 (1) | 2023.11.28 |
---|---|
package.json 필드정리 (0) | 2023.11.28 |
패키지가 로드되는 두가지 방법 (1) | 2023.11.28 |
20231122_TIL (0) | 2023.11.23 |
node 프로젝트에 mysql 연동 & 테이블 생성 (1) | 2023.11.22 |