Yarn의 로컬 경로로 패키지를 설치하는 방법은 무엇입니까?패키지를 찾을 수 없습니다.
내 안에서package.json
로컬 패키지를 가리키고 있습니다.my-custom-i18n
상대 경로를 기준으로:
꾸러미제이손
"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
.
실 버전 < 2.x
실에는 접두사가 필요합니다.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:
접두사가 필요하지 않습니다.수정 및 변경 로그가 포함된 풀 요청을 참조하십시오.
yarn version >= 2.x(Yarn Berry)용
로컬 패키지를 참조하기 위해 Yarn은 다양한 프로토콜을 지원합니다.
file:
지정된 디렉터리의 복사본을 만듭니다.상대 경로를 지정할 때(다음으로 시작)./
또는../
) 또는 절대 경로(로 시작)/
), ,file:
접두사도 생략할 수 있습니다.portal:
지정된 디렉토리에 대한 심볼 링크를 만들고 해당 과도 종속성을 해결합니다.link:
지정된 디렉토리에 대한 심볼릭 링크를 생성하지만 전이 종속성은 해결되지 않습니다.
종속성을 추가하려면 실행yarn add your-project@file:../your-project
.
실행 시도 중yarn add file:../your-project
(없이)your-project@
prefix)로 인해 다음 오류가 발생합니다.Usage Error: The file:../your-project string didn't match the required format (package-name@range). Did you perhaps forget to explicitly reference the package name?
.
로컬 패키지에 간단히 연결하려는 경우(로컬 패키지의 변경 사항이 다시 설치하지 않고 선택됨):
yarn add link:./../your-project
해봤습니다.file:
실로 용액을 만들었지만 작동하지 않았습니다.저는 직접 패키지를 포함하는 다른 경로를 선택했습니다.추가할 수 있었습니다.watch
파일 변경 시 브라우저를 자동으로 다시 빌드하고 업데이트합니다.
내 상황
두 개의 디렉토리가 있는 Git 저장소가 있었습니다. example/ 및 react-highlight-in-test 영역/. (간단하게 설명하겠습니다.)mylib/
아래).예제/는 예제/패키지에 종속성이 있는 반응 응용 프로그램입니다.다음의 아들:"mylib": "file:../mylib/"
/src/App.js의 예에 포함된 내용import { MyLib } from 'mylib'
.
내 솔루션
example/package.json에서 mylib를 제거합니다.
yarn remove mylib
배포를 내 프로젝트의 일부로 만듭니다.
(cd example/src && ln -s ../../mylib/dist mylib)
example/src/App.js의 포함 항목을 변경합니다.
import { MyLib } from './mylib'
mylib에 watch를 설치합니다.
(cd mylib ; yarn add watch)
하기 령가
scripts
내 립/패키지의json (b)."watch": "watch 'yarn build' src",
이제 터미널(c)에서 실행합니다.
(cd mylib && yarn install && yarn watch &) (cd example && yarn install && yarn start)
성공.
이제 내가 변경을 하고 lib/src/ 또는 example/src/에 저장할 때마다 다시 빌드되고 브라우저의 React 페이지로 푸시됩니다.
각주
이러한 사전 설정은 패키지를 사용하기 위한 많은 시도 중 하나입니다.이 일을 성공시키기 위해 json.
더 정확한 방법이 있을 수도 있지만, 저에게는 효과가 있었습니다.
저도 아마 이것을 실스크립트로 만들 수 있었을 것입니다.
언급URL : https://stackoverflow.com/questions/40102686/how-to-install-package-with-local-path-by-yarn-it-couldnt-find-package
'programing' 카테고리의 다른 글
응용 프로그램의 설정 번들에 응용 프로그램 버전 버전을 표시하려면 어떻게 해야 합니까? (0) | 2023.08.23 |
---|---|
drop_certificates가 판다에서 작동하지 않습니까? (0) | 2023.08.18 |
스위프트를 사용하여 iOS 10에서 전화를 거는 방법은 무엇입니까? (0) | 2023.08.18 |
파이썬 또는 R을 사용하여 엑셀에서 대체 텍스트가 있는 그래프를 PDF로 내보내는 방법은 무엇입니까? (0) | 2023.08.18 |
열 사이의 간격을 어떻게 추가합니까? (0) | 2023.08.18 |