asdf 관리하의 노드입니다.js에서 Corepack 노트 사용하기
며칠 전.js의16.9.0Corepack으로 실험적인 처리로 가져왔습니다.
예전부터 신경이 쓰여서 이참에 한번 해보고 싶었어요.저는 asdf로 다양한 버전을 관리하고 있지만 Corepack에서yarn,pnpm을 사용하기 전에 시간이 좀 걸리기 때문에 그 노트입니다.
그 전 과정에서 조사한 것도 적어 놓을게요.
Node.js,Corepack,asdf-vm에 대해 아래에 링크를 붙여 주세요.
컨디션
절차.
먼저 단계부터 시작합니다.
Node.js 설치 16.90 이후
> asdf install nodejs 16.10.0
보통 asdf로 설치합니다.글을 쓸 때 16.10.0이 나왔다.적절한 디렉토리 생성 및 이동
> mkdir tekitou_na_dexirectori ; cd $_
설치된 노드입니다.이 디렉터리에서 js 사용하기
> asdf local nodejs 16.10.0
Corepack 사용
> corepack enable
16.10.0에 Corepack은 실험적인 기능이기 때문에 사용하기 전에 유효성이 필요하다.나는 이 프로그램이 장래에 어떻게 될지 모른다.asdf의shim 다시 만들기
> asdf reshim nodejs
보통 잘 안 쓰죠.corepack으로 설치된 yarn, pnpm은 이게 필요합니다.그럼 패키지?json을 만들어서 포장 관리자와 버전을 지정해 주세요.
package.json
{
"packageManager": "[email protected]"
}
Corepack이 제일 하고 싶은 거야.동작 확인
> yarn --version
3.0.0
설치 명령 등은 별도로 수행할 필요가 없습니다.첫 번째 집행에는 시간이 좀 걸린다..yarnrc.yml
의 yarnPath
를 통해 실행 파일을 지정할 필요도 없습니다.다른 포장 관리자와 버전도 만들어 보세요.
package.json
{
"packageManager": "[email protected]"
}
> yarn --version
Usage Error: This project is configured to use pnpm
$ yarn ...
> pnpm --version
6.15.1
나는 asdf reshim
지령을 사용한 적이 없거나, 이번 일을 처음 알았기 때문에 이곳에 도착하기 전에 잠시 빠져들었다.reshim이 필요한 이유
asdf는 메커니즘으로 설치된 명령을
~/.asdf/shims
에 설치된shim라고 불리는 파일을 통해 실행합니다.이 shim은 각 도구를 설치할 때 업데이트된 것 같습니다.위의 절차에 따르면 집행
asdf install nodejs 16.10.0
할 때다.다운로드한 파일에 따라 자동으로 생성되고 업데이트됩니다.구체적으로 이번 상황은
~/.asdf/installs/nodejs/16.10.0/bin
의 문서다.설치 후 시간은 다음과 같습니다.
> ls ~/.asdf/installs/nodejs/16.10.0/bin
corepack node npm npx
이 파일 그룹을 기반으로 shim이 업데이트되었습니다.여기에
corepack enable
실행하세요.> corepack enable
> ls ~/.asdf/installs/nodejs/16.10.0/bin
corepack node npm npx pnpm pnpx yarn yarnpkg
와bin 이하에yarn,pnpm의 파일을 추가합니다.Corepack이 준비한 shim입니다.이렇게 하면 설치 후 즉시 존재하지 않는 파일은 asdf의shim에 반영해야 하기 때문에 실행해야 한다
asdf reshim nodejs
.앞으로 Corepack의 실험적 처리를 기대하며 잃어버렸을 때 이 리즘의 순서는 무용지물이 되지 않겠는가, 하지만 지금은 상황-.
16.90 이전 노드입니다.js, asdf의yarn, pnpm 플러그인과 공존
Corepack을 사용하더라도 yarn, pnpm 플러그인을 마운트 해제할 필요가 없습니다. 공존하거나 분리해서 사용할 수 있습니다.
asdf를 사용하는 사람들은 사용한 명령어의 버전 변환은
.tool-versions
이라는 파일로 제어된다는 것을 알아야 한다.Node.js16.90 이후 코어팩 유효화 상황
상술한 순서대로 하지만 아래의 느낌만 있으면 된다.
.tool-versions
nodejs 16.9.0
여기에 yarn 플러그인이 지정되지 않았습니다.Node.js 관리하에 Corepack에 설치된yarn이 사용됩니다.package.json
{
"packageManager": "[email protected]"
}
Node.js16.90 이전 (Corepack 없음),yarnv1 시스템을 사용할 때
.tool-versions
nodejs 14.17.6
yarn 1.22.15
이쪽은 asdf 관리하는yarn을 사용하고 싶어서 이렇게 합니다.Node.js16.90 이전 (Corepack 없음),yarnv2 이후의 경우
.tool-versions
nodejs 14.17.6
yarn 1.22.15
마찬가지로 asdf 관리하의yarn을 사용합니다.> yarn set version 3.0.0
asdf에 v1시스템의 최신 상태를 설치하였으며, 이yarn의 명령 측면 설정에서 v2 이후의 내용을 사용합니다.asdf로 직접 지정할 수 없는 방법이 방법입니다.
yarn의 v2 이후 설치, 설정 등에 대한 설명이 많으니 저쪽을 보세요.
요점
설정
.tool-versions
은 nodejs 플러그인 관리하의yarn과yarn 플러그인 관리하의yarn 중 하나만 참조한다.둘 다 참조할 수 있는 상태는 그만두는 게 좋을 것 같습니다.규격상 어느 것이 우선인지 잘 몰라서...
좀 번거롭긴 하지만 코어팩을 유효화해서 시도한 카탈로그와 좀 오래된 노드.js를 사용하는 디렉터리에서 특별히 무리하게 전환할 필요가 없습니다.
감상
그래서 자신의 환경에서 Corepack을 시도할 때의 그것과 이것.
저는 개인적으로 yarnv2 이후 버전 지정이 좀 미묘하다고 생각해서
package.json
통일된 Corepack에 대한 기대가 큽니다.지금은 완전히 다른 곳으로 이동하기 어렵지만 asdf 관리에서 현재 실험용 디렉터리와 원래 설정이 적용된 디렉터리를 분리하여 안심할 수 있습니다.
겸사겸사 말씀드리지만 pnpm파입니다.
Reference
이 문제에 관하여(asdf 관리하의 노드입니다.js에서 Corepack 노트 사용하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/matunnkazumi/articles/node_corepack_in_asdf텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)