NPM에서 동일한 패키지의 여러 버전을 설치하는 방법

사진작가Paul TeysenUnsplash
프로젝트에서 일할 때, 의존항을 업그레이드하고 싶지만, 코드를 많이 옮겨야 하기 때문에, 이렇게 할 수 없습니다.
만약 내가 이 소포를 가지고 있다면.json과 저는 가방formik을 최신 버전으로 업그레이드하고 싶습니다.최신 버전은 2.2.0 버전으로, 이것은 우리의 현재 버전과 약간 멀다.

우리는 formik를 최신 버전으로 업그레이드하여 새로운 기능과 기타 새로운 개선을 이용하기를 희망합니다


그러나 어떤 이유로 우리는 그것을 직접 업데이트할 수 없습니다. 왜냐하면 우리의 현재 버전과 최신 버전은 돌파적인 변경을 포함하기 때문입니다.예, 여기에는 이동 절차가 하나 있지만, 시간 제한과 우선순위 때문에 우리는 그것을 사용하는 모든 곳만 이동할 수 없습니다


사실상 모든 것이 예상대로 진행되도록 확보하려면 많은 노력이 필요하다.우리는 단지 약간의 이동 절차를 놓쳤다고 해서 기존의 부분을 파괴하고 싶지 않다


최신 버전을 단독으로 설치할 수 있는지 여부입니다. 그러면 코드의 다른 부분에 영향을 주지 않습니다


만약에 우리가 formik의 여러 버전을 설치할 수 있고 코드의 모든 부분을 점차적으로 옮길 수 있다면 이것은 매우 좋을까


네, 아, 네.하지만 그 전에 Node의 정확한 버전을 사용해야 합니다.js와 NPM.시작합시다


📝 시스템 요구 사항


성공적으로 사용할 수 있도록 NPM 버전이 6.9.0 이상 버전인지 확인합니다. 왜냐하면 이것은 release notes을 기반으로 지원되기 시작했기 때문입니다



$ npm -v

NPM에는 Node가 함께 제공됩니다.그러니까 노드를 확보해야 돼.js 버전은 release notes 기반 10.16.0



$ node -v

Node package manager (nvm) 를 사용하여 서로 다른 버전의 노드를 처리할 수 있습니다.js 번들 설치 안 함


요약:


NPM 버전: 6.9.0 이상✅


노드 버전: 10.16.0 이상✅


⚙ ️모두 설치


현재 우리는 이미 정확한 버전을 가지고 있으며, 실행할 명령을 보여 줍니다


우리가 사용할 NPM 명령을 패키지 별명이라고 하는데, 다음은 명령이다:



npm i <package_name_alias>@npm:<package_name>

이 자리 표시자를 실제 값으로 바꾸자



npm i formik-latest@npm:formik

이것은 NPM에서 사용할 수 있는 최신 버전을 설치합니다


formik의 최신 버전은 2.2.0입니다. 하지만 특정한 버전을 원하신다면?만약 우리가 원하는 것이 2.0.0 버전이라고 가정하자.평소와 같이 버전을 추가합니다.예:



npm i formik-latest@npm:[email protected]

이것이 바로 우리의 현재 소포입니다.최신 버전formik을 설치한 후 json은





그것의 용법은 다음과 같다.



// file1.js

import { Formik } from 'formik';

최신을 사용하려면 가져오기에서 별명을 사용하면 됩니다



// file2.js

import { Formik } from 'formik-latest';

나는 이미 하나 codesandbox 를 만들었지만, 정확하게 불러오지 않아서 무슨 문제가 있는지 확실하지 않다.단, 이것은 로컬에서 일합니다. (위의package.json을 복사해서 설치할 수 있습니다.)코드샌드박스는 2020년 5월 말부터 이를 지원한다.여기서 읽으셔도 됩니다https://github.com/codesandbox/codesandbox-client/pull/3730


🤖 Bringing It All Together


alias를 사용하여 설치하는 것은 좋은 방법입니다. 특히 프로젝트가 남아 있다면 이것은 가장 좋은 용례 중 하나입니다. 소프트웨어 패키지를 점차적으로 업그레이드할 수 있기 때문입니다


당신은 회귀나 시스템의 다른 부분을 쉽게 파괴할 염려가 없습니다


당신은 당신이 하고 있는 새로운 임무 중 당신이 가장 좋아하는 라이브러리의 최신 버전을 단독으로 시도할 수 있습니다. 걱정하지 마세요


그러나 다른 한편, 우리는 많은 가방 별명을 만들어서는 안 된다. 반대로 우리는 다른 부분을 조금씩 옮겨야 한다. 왜냐하면 그것은 쌓이기 때문이다.패키지 별명이 많을 때, 설치 프로젝트의 성능을 떨어뜨릴 수도 있고, 파이프에 더 많은 시간을 들일 수도 있고, 더 큰 패키지


내가 뭘 놓쳤어?댓글 부분에서 우리의 일을 알게 해 주세요


읽어주셔서 감사합니다.나는 이것이 너의 여정을 도울 수 있기를 바란다.❤️



좋은 웹페이지 즐겨찾기