Yarn으로 로컬 경로로 패키지를 설치하는 방법은 무엇입니까? 패키지를 찾을 수 없습니다.


105

내에서 상대 경로로 package.json로컬 패키지 my-custom-i18n를 가리키고 있습니다 .

package.json

"dependencies": {
 "core-js": "^2.4.1",
 "my-custom-i18n": "./../MyProject.Shared/myproject-i18n",
 "rxjs": "5.0.0-beta.12",
 ...
}

npm install패키지를 올바르게 설치하지만 yarn문제가 있으며이 패키지를 찾을 수 없습니다.

원사 출력

$ yarn
yarn install v0.15.1
info No lockfile found.
[1/4] Resolving packages...
error Couldn't find package "myproject-i18n" on the "npm" registry.
info Visit http://yarnpkg.com/en/docs/cli/install for documentation about this command.

나는 그것이에 보이는 것을 볼 npm이 패키지가없는 라이브 않습니다 레지스트리.

질문

원사를 현지 패키지와 함께 사용하는 데 변경 사항이 있습니까? 로컬 패키지 란 상대 경로가 가리키는 패키지를 my-custom-i18n.

답변:


199

Yarn에는 file:로컬 패키지의 접두사 가 필요 합니다.

상대 경로의 경우 :

yarn add file:./../your-project

절대 경로

yarn add file:/dev/your-project

예를 들어 종속성은 package.json다음과 같이 선언됩니다.

 "my-custom-i18n": "file:./../MyProject.Shared/myproject-i18n",

이것은 Yarn과 NPM 모두에서 작동합니다.

NPM 클라이언트와의 비 호환성이며, Yarn 팀은 GitHub 문제에 대한이 동작 참조 를 지원하기 위해 인식하고 선언했습니다 .

최신 정보:

이후 v0.21.0의 릴리스, file:접두사가 필요하지 않습니다. 수정변경 로그가있는 풀 요청을 참조하십시오 .


1
감사합니다. 매력처럼 작동합니다. 그러나 현재 npm 클라이언트와 호환되지 않는 경우-그대로 두겠습니다. npm추신 : 내 생각은 yarn전체 팀과 프로젝트를 변환하지 않고 로컬로만 사용하는 것이 었습니다 . 그래서 ... 나는이 :)에 대한 지원까지 기다려야한다
michalczukm

3
캐시를 지우십시오. 원 사는 항상 캐시 된 버전을 먼저 시도합니다
Bo Chen

5
업데이트를 위해 +1! file:접두사를 제거하면 yarn installWindows ./에서 상대 파일 경로에 접두사를 추가 하지만 yarn installmacOS에서는 제거 하는 문제가 해결 되었습니다.
Magne

절대 경로는 저에게 효과가 없었습니다. 설치에는 작동하지만 어떻게 든 상대 경로를 찾고 있었지만 yarn.lock에 절대 경로가 있기 때문에 변환이 실패합니다.
pixelearth

1
원사와 같다 접두사는 여전히 다음과 같은 상황에서 필요하다 :하자의 당신이 패키지가 있다고 로컬 종속성이 있습니다 . 다른 패키지 가 package 를 사용하는 경우 디렉토리가 아닌 디렉토리를 기준으로 확인을 시도 합니다. 종속성을 변경 한 후 문제가 해결되었습니다. 1.17.3file:bar./dependencies/xyzfoobar./dependencies/xyzfoobarfile:./dependencies/xyz
David Callanan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.