해결된 질문
작성
·
139
·
수정됨
0
npm i react-copy-to-clipboard
패키지 설치시 아래와 같은 오류가 발생합니다.
> npm i react-copy-to-clipboard
npm error code ERESOLVE
npm error ERESOLVE unable to resolve dependency tree
npm error
npm error While resolving: mbti-contents-platform@0.0.0
npm error Found: react@19.0.0
npm error node_modules/react
npm error react@"^19.0.0" from the root project
npm error
npm error Could not resolve dependency:
npm error peer react@"^15.3.0 || 16 || 17 || 18" from react-copy-to-clipboard@5.1.0
npm error node_modules/react-copy-to-clipboard
npm error react-copy-to-clipboard@"*" from the root project
npm error
npm error Fix the upstream dependency conflict, or retry
npm error this command with --force or --legacy-peer-deps
npm error to accept an incorrect (and potentially broken) dependency resolution.
npm error
npm error
...
강의 들으며 문제가 발생했고, 직접 해결한 방법을 공유합니다.
오류 메시지를 분석하면, react-copy-to-clipboard@5.1.0
패키지가 React 19을 지원하지 않기 때문에 설치에 실패한 것입니다.
오류 메시지를 보면:
npm error Found: react@19.0.0
npm error Could not resolve dependency:
npm error peer react@"^15.3.0 || 16 || 17 || 18" from react-copy-to-clipboard@5.1.0
📌 원인
프로젝트에 React 19.0.0이 설치되어 있음.
하지만 **react-copy-to-clipboard@5.1.0
**은 React 19을 지원하지 않음 (React 15~18까지만 지원).
📌 결과
react-copy-to-clipboard
는 react@19
와 호환되지 않아서 설치할 수 없음.
강사님은 18버전으로 진행, 실습 시 vite로 최신버전이 19버전으로 설치됨
react-copy-to-clipboard
대신 다른 패키지 사용 (추천)현재 react-copy-to-clipboard
는 React 19을 공식적으로 지원하지 않음.
대신 React 19에서 정상적으로 동작하는 최신 패키지를 사용하는 것이 좋음.
@uidotdev/usehooks
이 패키지는 useCopyToClipboard()
훅을 제공하며, React 19에서도 사용 가능.
npm i @uidotdev/usehooks
📌 사용 예시 (useCopyToClipboard
활용)
import { useCopyToClipboard } from "@uidotdev/usehooks";
export default function CopyButton() {
const [copiedText, copy] = useCopyToClipboard();
return (
<div>
<button onClick={() => copy("Hello, World!")}>복사하기</button>
{copiedText && <p>복사 완료: {copiedText}</p>}
</div>
);
}
저는 위 방식을 통해 해결하였습니다. 더 좋은 방법이 있으면 공유해주세요.
답변 2
0
안녕하세요 7유스카트 님.
양질의 정보와 경험 공유해주셔서 감사드립니다.
강의에서는 React v18.x
/ react-copy-to-clipboard v5.1.0
을 사용하고 있다보니 버전 이슈는 없었는데요.
공유주신 바와 같이 React 19 이상으로 넘어가면서 버전 이슈가 발생하고 있습니다.
React 19이상 버전으로 개발중이신 분들에게는,
7유스카트 님께서 추천해주신 바와 같이 @uidotdev/usehooks
패키지를 추천드립니다.
공식 Github Repo
여러 Hooks가 잘 정리되어 있는 레포인데요.
다만 가장 최신의 업데이트가 9개월 전이라 관리 측면에서 아쉬운 측면이 있긴 합니다.
그럼에도 워낙 많은 개발자들이 사용중이기도 해서 호환성 등의 이슈 발생시 바로 업데이트 될 부분은 걱정되지 않습니다(보는 눈이 많으면 좋은 점).
결론은,
React 18 이하 버전 사용중이시라면 react-copy-to-clipboard v5.1.0
그대로 사용해도 무방.
React 19 이상 버전 사용하신다면 @uidotdev/usehooks
사용 권장.
해당 내용 공유해주신 7유스카트 님,
다시 한번 감사 말씀 드립니다.
0
안녕하세요, 인프런 AI 인턴입니다. 7유스카트님.
React 프로젝트에서 react-copy-to-clipboard
패키지를 설치하려다 오류가 발생하신 것 같습니다. 주된 이유는 react-copy-to-clipboard@5.1.0
이 React 19과 호환되지 않기 때문입니다. 이 문제를 해결하기 위한 몇 가지 방법을 소개합니다.
react-copy-to-clipboard
패키지가 현재 사용 중인 React 버전(19.0.0)을 지원하지 않아서 발생하는 의존성 충돌입니다. npm i react-copy-to-clipboard --legacy-peer-deps
이 옵션을 사용하면 의존성 충돌을 무시하고 설치가 가능해지지만, React 19에서의 작동은 보장되지 않습니다.
현재 react-copy-to-clipboard
패키지가 React 19을 공식적으로 지원하지 않으므로, 대체로 @uidotdev/usehooks
패키지를 사용하는 것이 좋습니다.
npm i @uidotdev/usehooks
이렇게 하면 useCopyToClipboard
훅을 활용할 수 있으며, React 19에서도 안정적으로 작동합니다.
import { useCopyToClipboard } from "@uidotdev/usehooks";
export default function CopyButton() {
const [copiedText, copy] = useCopyToClipboard();
return (
<div>
<button onClick={() => copy("Hello, World!")}>복사하기</button>
{copiedText && <p>복사 완료: {copiedText}</p>}
</div>
);
}
현 상황에서는 대체 패키지를 사용하는 것이 가장 안전한 방법이라고 생각합니다. React 19와의 호환 문제를 신경 쓰지 않아도 되고, 최신 기능을 사용할 수 있으니까요.
이 외에도 ‘npm’ 명령어 사용과 관련된 상세 설명은 npm 공식 문서에서도 확인하실 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.