Yarn: 였λ₯˜ 둜컬 λ°œκΈ‰μž μΈμ¦μ„œλ₯Ό κ°€μ Έμ˜¬ 수 μ—†μŠ΅λ‹ˆλ‹€

에 λ§Œλ“  2016λ…„ 10μ›” 12일  Β·  42μ½”λ©˜νŠΈ  Β·  좜처: yarnpkg/yarn

μ•ˆλ…•ν•˜μ„Έμš”

_κΈ°λŠ₯_을 μš”μ²­ν•˜μ‹œκ² μŠ΅λ‹ˆκΉŒ? μ•„λ‹ˆλ©΄ _버그_λ₯Ό λ³΄κ³ ν•˜μ‹œκ² μŠ΅λ‹ˆκΉŒ?
Bug

ν˜„μž¬ λ™μž‘μ΄ 버그인 경우 μž¬ν˜„ 단계λ₯Ό μ œκ³΅ν•˜μ‹­μ‹œμ˜€.

Ξ» yarn config set strict-ssl false
yarn config v0.15.1
success Set "strict-ssl" to "false".
Done in 0.06s.

yarn install

error unable to get local issuer certificate
    at Error (native)
    at TLSSocket.<anonymous> (_tls_wrap.js:1060:38)
    at emitNone (events.js:86:13)
    at TLSSocket.emit (events.js:185:7)
    at TLSSocket._finishInit (_tls_wrap.js:584:8)
    at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:416:38)
info Visit http://yarnpkg.com/en/docs/cli/install for documentation about this command.

μ˜ˆμƒλ˜λŠ” λ™μž‘μ€ λ¬΄μ—‡μž…λ‹ˆκΉŒ?
쒅속성을 μ„€μΉ˜ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€.
λ‚΄κ°€ λ­”κ°€λ₯Ό λ†“μΉ˜κ³  μžˆμŠ΅λ‹ˆκΉŒ (μ•„λ§ˆλ„)?
감사 ν•΄μš”

node.js, 원사 및 운영 체제 버전을 μ–ΈκΈ‰ν•˜μ‹­μ‹œμ˜€.

λ…Έλ“œJS: V6.7
원사: v0.15.1
운영 체제: μœˆλ„μš° 7

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

λ™μΌν•œ μƒν™©μ—μ„œ λ™μΌν•œ λ¬Έμ œκ°€ μžˆμ—ˆμ§€λ§Œ 이 λͺ…령을 yarn config set strict-ssl false μ‹€ν–‰ν–ˆλŠ”λ° μž‘λ™ν–ˆμŠ΅λ‹ˆλ‹€.

λͺ¨λ“  42 λŒ“κΈ€

자체 μ„œλͺ… SSL을 μΆ”κ°€ν•˜λŠ” ν”„λ‘μ‹œ 뒀에 있기 λ•Œλ¬Έμ— λ™μΌν•œ λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€.

strict-ssl κ°€ ν™œμ„±ν™”λ˜μ—ˆμ§€λ§Œ CAκ°€ .npmrc μˆ˜λ™μœΌλ‘œ μ§€μ •λœ κ²½μš°μ—λ„ λ™μΌν•œ λ¬Έμ œκ°€ λ°œμƒν•©λ‹ˆλ‹€. Yarn은 λͺ¨λ“  SSL ꡬ성을 λ¬΄μ‹œν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€(λ˜λŠ” λ‹€λ₯Έ ꡬ성이 ν•„μš”ν•˜μ§€λ§Œ κ΅¬μ„±μ—μ„œ 찾을 수 μ—†μŒ).

ca[]="-----BEGIN CERTIFICATE-----\n..."

직μž₯μ—μ„œ 같은 λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€!

같은 λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€. (μ €λŠ” 자체 μΈμ¦μ„œλ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.)

λ™μΌν•œ 문제둜, λ ˆμ§€μŠ€νŠΈλ¦¬λ₯Ό λΉ„ SSL λ³€ν˜• λ˜λŠ” μ›λž˜ λΉ„ SSL Registry.npmjs.org둜 섀정해도 도움이 λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

κΈ°μ—… ν”„λ‘μ‹œ 뒀에 μžˆμœΌλ―€λ‘œ 이 λ¬Έμ œλ„ λ°œμƒν•©λ‹ˆλ‹€.

νšŒμ‚¬ ν”„λ‘μ‹œ 뒀에 λ™μΌν•œ μ •ν™•ν•œ 였λ₯˜κ°€ μžˆμŠ΅λ‹ˆλ‹€. :) . μˆ˜μ •μ„ 기닀릴 수 μ—†μŠ΅λ‹ˆλ‹€ :)

λ™μΌν•œ λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€. λ„€νŠΈμ›Œν¬κ°€ ν”„λ‘μ‹œ 뒀에 있고 strict-ssl을 false둜 μ„€μ •ν•˜κ³  λ ˆμ§€μŠ€νŠΈλ¦¬λ₯Ό λΉ„ SSL둜 ꡬ성해도 μ—¬μ „νžˆ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. κ°€λŠ₯ν•œ 빨리 μˆ˜μ •ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€. 기닀릴 수 μ—†μ–΄.

@TAGraves κ°€ #1025μ—μ„œ 이 μž‘μ—…μ„ ν•˜κ³  μžˆλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. 정말 땅에보고 μ‹Άμ–΄μš”! πŸ‘

PR #736은 이 문제λ₯Ό ν•΄κ²°ν•˜λŠ” 또 λ‹€λ₯Έ 방법인 cafile에 λŒ€ν•œ 지원을 μΆ”κ°€ν•  μ˜ˆμ •μ΄λ©°, strict-ssl을 λΉ„ν™œμ„±ν™”ν•˜λŠ” 것과 달리 MITM 곡격에 μ·¨μ•½ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

cafile 및 strict-ssl λŒ€ν•œ 지원을 λ³‘ν•©ν–ˆμœΌλ―€λ‘œ 이 문제λ₯Ό ν•΄κ²°ν•΄μ•Ό ν•©λ‹ˆλ‹€.

원사 v0.21.3μ—μ„œ μ—¬μ „νžˆ 이 λ¬Έμ œκ°€ λ°œμƒν•©λ‹ˆλ‹€.

μ—…λ°μ΄νŠΈ: μ•Όκ°„ λΉŒλ“œ 0.22.0-20170303.1013μ—μ„œλ„

strict-ssl 및 기타 ꡬ성을 .npmrcμ—μ„œ .yarnrc둜 λ³΅μ œν•˜λ©΄ μž‘μ—…μ΄ μ‹œμž‘λ©λ‹ˆλ‹€(λ˜λŠ” yarn config set λ₯Ό μ‚¬μš©ν•˜μ—¬ 각 뢀뢄을 μΆ”κ°€). μ™œ .npmrcμ—μ„œ μ„ νƒν•˜μ§€ μ•Šμ•˜λŠ”μ§€ 잘 λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€.

λ™μΌν•œ μƒν™©μ—μ„œ λ™μΌν•œ λ¬Έμ œκ°€ μžˆμ—ˆμ§€λ§Œ 이 λͺ…령을 yarn config set strict-ssl false μ‹€ν–‰ν–ˆλŠ”λ° μž‘λ™ν–ˆμŠ΅λ‹ˆλ‹€.

λ„€, μ €μ—κ²Œλ„ νš¨κ³Όκ°€ μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

@syvesteraswin 도 λ˜‘κ°™μ΄ ν–ˆκ³  νš¨κ³Όκ°€ μžˆμ—ˆμŠ΅λ‹ˆλ‹€. thx πŸ‘

λͺ¨λ‘ 0.23.1μ—μ„œ κΉ¨μ Έ λ ˆμ§€μŠ€νŠΈλ¦¬λ₯Ό http둜 μ„€μ •ν•˜κ³  strict-ssl을 false둜 μ„€μ •ν•˜λ©΄ μž‘λ™ν•˜μ§€λ§Œ μ§€κΈˆμ€ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μΈμ¦μ„œλ₯Ό κ°€λ‘œμ±„λŠ” 데에도 λ¬Έμ œκ°€ 있으며 이것이 httpκ°€ ν•„μš”ν•œ μ΄μœ μž…λ‹ˆλ‹€.

yarn config set strict-ssl false μ‹œλ„ν–ˆμ§€λ§Œ 이제 "404 Not Found"κ°€ ν‘œμ‹œλ©λ‹ˆλ‹€. λ§₯ μ‹œμ—λΌ, λ…Έλ“œ 8.1.2, μ–€ 0.27.5.

@JesterXL 그것은 λ‚˜λ₯Ό μœ„ν•΄ μΌν–ˆμŠ΅λ‹ˆλ‹€. λ™μΌν•œ 버전 v0.27.5 μ‚¬μš©

yarn config set strict-ssl false 이 λ‚˜λ₯Ό μœ„ν•΄ μΌν–ˆμŠ΅λ‹ˆλ‹€!

npm ꡬ성 μ„ΈνŠΈ strict-ssl

λ‚˜λ₯Ό μœ„ν•΄ μΌν–ˆλ‹€

μ‚¬λžŒλ“€μ΄ 여기에 λΆ™μ—¬λ„£κΈ° μ½”λ“œλ₯Ό λ§Ήλͺ©μ μœΌλ‘œ λ³΅μ‚¬ν•˜μ§€ μ•Šλ„λ‘ ν•˜μ‹­μ‹œμ˜€. μ—„κ²©ν•œ SSL 검사λ₯Ό λΉ„ν™œμ„±ν™”ν•˜μ§€ λ§ˆμ‹­μ‹œμ˜€.

자, 이제 λ‚΄κ°€ 주의λ₯Ό 기울이고 μžˆμŠ΅λ‹ˆλ‹€. μ •ν™•νžˆ 무엇을 ν•˜κ³  있고 μ–΄λ–€ μœ„ν—˜μ„ κ°μˆ˜ν•˜λŠ”μ§€ _μ•ˆλ‹€λ©΄_ μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€. 그렇지 μ•ŠμœΌλ©΄ κ·Έλƒ₯ν•˜μ§€ λ§ˆμ‹­μ‹œμ˜€.

HTTP μ‚¬μš©μ˜ μœ„ν—˜μ— μžμ‹ μ„ λ…ΈμΆœμ‹œν‚€μ§€ μ•ŠλŠ” μ†”λ£¨μ…˜μ΄ μžˆμŠ΅λ‹ˆκΉŒ? μ—„κ²©ν•œ SSL을 λΉ„ν™œμ„±ν™”ν•˜μ§€ μ•Šκ³ λ„ 이 문제λ₯Ό ν•΄κ²°ν•  수 있기λ₯Ό λ°”λžλ‹ˆλ‹€.

STRICT SSL을 μ‚¬μš©ν•˜λ©΄ μ’‹κ² μ§€λ§Œ λ¬Έμ œλŠ” μΈμ¦μ„œλ₯Ό κ΅ν™˜ν•˜λŠ” νšŒμ‚¬μž…λ‹ˆλ‹€. μ‹€μ œλ‘œ httpλ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” 것을 μ–΄λ ΅κ²Œ λ§Œλ“€κ³  μžˆμ–΄ μš°λ¦¬κ°€ λ‚˜μœ 일을 ν•˜κ³  μžˆμ§€ μ•Šμ€μ§€ ν™•μΈν•˜κΈ° μœ„ν•΄ νŠΈλž˜ν”½μ„ κ°μ‹œν•  수 μžˆμŠ΅λ‹ˆλ‹€. 기본적으둜 그듀은 직원보닀 일반 λŒ€μ€‘μ„ 더 μ‹ λ’°ν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ λŒ€μ•ˆμ΄ μžˆμŠ΅λ‹ˆλ‹€. νšŒμ‚¬μ—μ„œ κ΅ν™˜ν•˜λŠ” μΈμ¦μ„œμ˜ 사본을 κ°€μ Έμ™€μ„œ cafile을 μΈμ¦μ„œμ˜ 경둜둜 μ„€μ •ν•΄μ•Ό ν•©λ‹ˆλ‹€. 이것은 ν•„μš”ν•œ 만큼 κ°„λ‹¨ν•œ 과정은 μ•„λ‹ˆμ§€λ§Œ μž‘λ™ν•˜κ³  μ•ˆμ „ν•©λ‹ˆλ‹€. μž‘λ™ν•˜μ§€ μ•ŠμœΌλ©΄ 원사 버전을 μ—…κ·Έλ ˆμ΄λ“œν•΄μ•Ό ν•©λ‹ˆλ‹€...

@damiandennis 저희 νšŒμ‚¬μ—μ„œ 방금 μƒˆ μΈμ¦μ„œλ₯Ό κ΅¬ν˜„ν•΄μ„œ 컴퓨터에 등둝

@snood1205 같은 μƒν™©μž…λ‹ˆλ‹€. yarn 및 pip μ œμ™Έν•˜κ³  λ‹€λ₯Έ λͺ¨λ“  것은 잘 μž‘λ™ν•©λ‹ˆλ‹€.

λ‚˜λŠ” 이것이 μš°λ¦¬κ°€ μ˜μ‘΄ν•˜λŠ” request λΌμ΄λΈŒλŸ¬λ¦¬κ°€ μ–΄λ–»κ²Œ κ΅¬μ„±λ˜μ–΄ 있기 λ•Œλ¬Έμ΄λΌκ³  μƒκ°ν•©λ‹ˆλ‹€.

strictSSL - true인 경우 SSL μΈμ¦μ„œκ°€ μœ νš¨ν•΄μ•Ό ν•©λ‹ˆλ‹€. μ°Έκ³ : 자체 인증 기관을 μ‚¬μš©ν•˜λ €λ©΄ ν•΄λ‹Ή CAλ₯Ό μ‚¬μš©ν•˜μ—¬ μƒμ„±λœ μ—μ΄μ „νŠΈλ₯Ό μ˜΅μ…˜μœΌλ‘œ 지정해야 ν•©λ‹ˆλ‹€.

λ”°λΌμ„œ .yarnrc μ—μ„œ λ‹€μŒ ꡬ성 값을 μ„€μ •ν•˜μ—¬ νšŒμ‚¬ μΈμ¦μ„œλ₯Ό λͺ…μ‹œμ μœΌλ‘œ ν™”μ΄νŠΈλ¦¬μŠ€νŠΈμ— μΆ”κ°€ν•  수 μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€.

  • μΊ˜λ¦¬ν¬λ‹ˆμ•„
  • μΉ΄ν•„
  • μΈμ¦μ„œ
  • μ—΄μ‡ 

@BYK 이것은 κ°„λ‹¨ν•œ μ§ˆλ¬Έμž…λ‹ˆλ‹€. μ‹€λ‘€ν•©λ‹ˆλ‹€.

이 값을 μ„€μ •ν•˜λŠ” ν˜•μ‹μ€ λ¬΄μ—‡μž…λ‹ˆκΉŒ? ca=~/Code/certs/mycert.crt ?

λ˜ν•œ .yarnrc 상단에 μˆ˜μ •ν•˜μ§€ λ§λΌλŠ” 큰 λ©΄μ±… 쑰항이 μžˆμŠ΅λ‹ˆλ‹€. μ–΄μ¨Œλ“  λ³€κ²½ν•  κΆŒν•œμ΄ μžˆμŠ΅λ‹ˆκΉŒ? πŸ˜€

@ao 비결정적 λ‹€μš΄λ‘œλ“œλ₯Ό μ¦κΈ°μ‹­μ‹œμ˜€!

yarn config set strict-ssl false λ‚˜λ₯Ό μœ„ν•΄ μΌν–ˆμŠ΅λ‹ˆλ‹€. @syvesteraswin 감사

λ‹€μŒ λͺ…령이 μ €μ—κ²Œ νš¨κ³Όμ μ΄μ—ˆμŠ΅λ‹ˆλ‹€.
원사 ꡬ성은 strict-ssl을 false둜 μ„€μ •ν•©λ‹ˆλ‹€.

@vrajpoot λ©‹μ§€λ„€μš” ! κ·ΈλŸ¬λ‚˜ λ‹€λ₯Έ λΆ€μ£Όμ˜ν•œ μ‚¬λžŒλ“€μ΄ κΈ°λ³Έ λ³΄μ•ˆμ„ 끄고 잠재적으둜 컴퓨터에 맬웨어λ₯Ό λ‹€μš΄λ‘œλ“œν•˜λ„λ‘ 속일 수 μžˆμœΌλ―€λ‘œ 여기에 κ²Œμ‹œν•˜μ§€ λ§ˆμ‹­μ‹œμ˜€.

맬웨어λ₯Ό μ’‹μ•„ν•˜κ³  μ˜λ„μ μœΌλ‘œ 컴퓨터λ₯Ό κ°μ—Όμ‹œν‚€λŠ” 것은 μ „ν˜€ λ¬Έμ œκ°€ λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ 이것은 연ꡬ μ£Όμ œλ‚˜ 취미둜 남아 μžˆμ–΄μ•Ό ν•˜λ©° μ‹€μ œ μž‘μ—… μ‹œμŠ€ν…œμ—μ„œ ν•˜λŠ” 일이 μ•„λ‹™λ‹ˆλ‹€.

@brandonsturgeon 은 ν•΄κ²°ν•΄μ•Ό ν•  맀우 μœ νš¨ν•œ 점을 μ œμ‹œν–ˆμœΌλ©° 원사 κ΄€λ¦¬μžκ°€ 응닡해야 ν•©λ‹ˆλ‹€. κΆκΈˆν•œ μ‚¬λžŒμ€ 그뿐만이 μ•„λ‹™λ‹ˆλ‹€.

https://github.com/yarnpkg/yarn/issues/6578

ν₯λ―Έλ‘­κ²Œλ„ "strict-ssl을 λΉ„ν™œμ„±ν™”ν•˜μ§€ λ§ˆμ‹­μ‹œμ˜€"라고 λ§ν•˜λŠ” λͺ¨λ“  μ‚¬λžŒ.
κ·ΈλŸ¬λ‚˜ 아무도 μ„±κ³΅ν•˜μ§€ λͺ»ν•©λ‹ˆλ‹€.

yarn config set strict-ssl falseκ°€ μ €μ—κ²Œ νš¨κ³Όμ μ΄μ—ˆμŠ΅λ‹ˆλ‹€. 감사 ν•΄μš”

jquery νŒ¨ν‚€μ§€λ₯Ό μ„€μΉ˜ν•˜λ €κ³  ν•  λ•Œ 이 였λ₯˜κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. μˆ˜λ§Žμ€ μž¬κ²€μƒ‰ 끝에 strict-ssl λ₯Ό false ν•˜κ±°λ‚˜ .yarnrc νŒŒμΌμ„ νŽΈμ§‘ν•΄μ„œλŠ” μ•ˆ λœλ‹€λŠ” 것을 λ§ˆμΉ¨λ‚΄ λ°œκ²¬ν–ˆμŠ΅λ‹ˆλ‹€. 이에 λŒ€ν•œ κΉ¨λ—ν•˜κ³  이상적인 μ ‘κ·Ό 방식은 -
$ yarn config set cafile "/physical/path/to/certificate-file.pem" 그리고 그게 λ‹€μ•Ό. 이 λͺ…령을 μ‹€ν–‰ν•œ ν›„ SSL을 끄지 μ•Šκ³  jqueryλ₯Ό μ„±κ³΅μ μœΌλ‘œ μ„€μΉ˜ν•  수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

μœ„μ˜ yarn config list λͺ…λ Ή 전후에 yarn으둜 ꡬ성을 항상 확인할 수 있으며 μœ„μ—μ„œ λ³€κ²½ν•œ 사항이 μ μš©λ˜μ—ˆλŠ”μ§€ μ—¬λΆ€λ₯Ό 확인할 수 μžˆμŠ΅λ‹ˆλ‹€. 일반적으둜 κ·Έλ ‡μŠ΅λ‹ˆλ‹€. :)

@sandipt27 μ˜¬λ°”λ₯Έ 방법을 μ°ΎλŠ” 데 μ‹œκ°„μ΄ λ„ˆλ¬΄ 였래 걸리게 ν•΄μ„œ μ£„μ†‘ν•©λ‹ˆλ‹€. μ•„λ§ˆλ„ λ‹€μŒκ³Ό 같은 이유둜 찾지 λͺ»ν–ˆμ„ κ²ƒμž…λ‹ˆλ‹€.

  1. yarnrc λ¬Έμ„œ μ—μ„œλŠ” 이 λΉ„λ°€ ꡬ성 λ§€κ°œλ³€μˆ˜λ₯Ό μ „ν˜€ μ–ΈκΈ‰ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. "λ¬Έμ„œν™”λ˜μ§€ μ•Šμ€ κΈ°λŠ₯은 μ‹€ν—˜μ μž…λ‹ˆλ‹€"λΌλŠ” κ·œμΉ™μ€ Yarn에 μ μš©λ˜μ§€ μ•ŠλŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.
  2. NPM λ¬Έμ„œ 쑰차도 μœ μš©ν•˜κΈ°μ—λŠ” λ„ˆλ¬΄ μ§§μŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ ν”Œλž«νΌμ— 따라 μ–΄λ–€ μ’…λ₯˜μ˜ ν™•μž₯이 μˆ˜ν–‰λ˜λŠ”μ§€ μ§€μ •ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. λ‹€μ‹œ λ§ν•˜μ§€λ§Œ, μ‚¬λžŒλ“€μ€ μ˜€λž«λ™μ•ˆ λ¬Έμ„œν™”λ˜μ§€ μ•Šμ€ κΈ°λŠ₯을 μ‚¬μš©ν•΄ μ™”μŠ΅λ‹ˆλ‹€.
  3. μ‹€μ œλ‘œ cafile λŠ” 이번 ν˜Έμ—μ„œ μ—¬λŸ¬ 번 μ–ΈκΈ‰λ˜μ—ˆμ§€λ§Œ 더 λ§Žμ€ μ‚¬λžŒλ“€μ΄ λ³΄μ•ˆμ— λŒ€ν•΄ μƒκ°ν•˜μ§€ μ•Šκ³  λ‹¨μˆœνžˆ "λ‚˜λŠ” SSL이 μž‘λ™ν•˜μ§€ μ•ŠλŠ”λ‹€"라고 슀팸 메일을 보내고 μžˆμŠ΅λ‹ˆλ‹€. μ–΄μ¨Œλ“  SSL이 ν•„μš”ν•œ μ‚¬λžŒμ€ λˆ„κ΅¬μž…λ‹ˆκΉŒ?

당신은 μ•„λ§ˆλ„ 3을 κ³ μΉ  수 μ—†κ³  2λŠ” λ‹€λ₯Έ λ²”μœ„μ— μžˆμ§€λ§Œ λˆ„κ΅°κ°€κ°€ λ‚˜μ™€μ„œ 1을 κ³ μΉ  수 μžˆμ„ κ²ƒμž…λ‹ˆλ‹€. ν’€ λ¦¬ν€˜μŠ€νŠΈλ₯Ό μ œμ•ˆν•˜κ³  두 번째 λˆˆμ„ μ›ν•˜λ©΄ μ œκ°€ μ•„λ§ˆ 도움을 λ“œλ¦΄ 수 μžˆμŠ΅λ‹ˆλ‹€. μ•”ν˜Έμ— λŒ€ν•œ 지식), 비둝 λ‚΄κ°€ λ©”μΈν…Œμ΄λ„ˆκ°€ μ•„λ‹ˆκΈ° λ•Œλ¬Έμ— 그것을 μŠΉμΈν•  수 μ—†μ§€λ§Œ.

https://github.com/yarnpkg/yarn/issues/841#issuecomment -559037850
그것은 λ‚˜λ₯Ό μœ„ν•΄ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

둜컬 λ°œκΈ‰μž μΈμ¦μ„œλ‘œ 개인 μ €μž₯μ†Œ(Verdaccio)λ₯Ό μ„€μ •ν–ˆμŠ΅λ‹ˆλ‹€.
그리고 μ—°κ²°λœ μΈμ¦μ„œ 파일둜 λ™μΌν•œ 섀정을 ν–ˆμŠ΅λ‹ˆλ‹€.
κ·ΈλŸ¬λ‚˜ Yarn은 νŒ¨ν‚€μ§€λ₯Ό λ‹€μš΄λ‘œλ“œν•˜μ§€ λͺ»ν–ˆμŠ΅λ‹ˆλ‹€.

λ¬Έμ œμ—†μ΄ NPMμ—μ„œ μž‘λ™ν–ˆμŠ΅λ‹ˆλ‹€.

@sandipt27 μ˜¬λ°”λ₯Έ 방법을 μ°ΎλŠ” 데 μ‹œκ°„μ΄ λ„ˆλ¬΄ 였래 걸리게 ν•΄μ„œ μ£„μ†‘ν•©λ‹ˆλ‹€. μ•„λ§ˆλ„ λ‹€μŒκ³Ό 같은 이유둜 찾지 λͺ»ν–ˆμ„ κ²ƒμž…λ‹ˆλ‹€.

  1. yarnrc λ¬Έμ„œ μ—μ„œλŠ” 이 λΉ„λ°€ ꡬ성 λ§€κ°œλ³€μˆ˜λ₯Ό μ „ν˜€ μ–ΈκΈ‰ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. "λ¬Έμ„œν™”λ˜μ§€ μ•Šμ€ κΈ°λŠ₯은 μ‹€ν—˜μ μž…λ‹ˆλ‹€"λΌλŠ” κ·œμΉ™μ€ Yarn에 μ μš©λ˜μ§€ μ•ŠλŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.
  2. NPM λ¬Έμ„œ 쑰차도 μœ μš©ν•˜κΈ°μ—λŠ” λ„ˆλ¬΄ μ§§μŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ ν”Œλž«νΌμ— 따라 μ–΄λ–€ μ’…λ₯˜μ˜ ν™•μž₯이 μˆ˜ν–‰λ˜λŠ”μ§€ μ§€μ •ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. λ‹€μ‹œ λ§ν•˜μ§€λ§Œ, μ‚¬λžŒλ“€μ€ μ˜€λž«λ™μ•ˆ λ¬Έμ„œν™”λ˜μ§€ μ•Šμ€ κΈ°λŠ₯을 μ‚¬μš©ν•΄ μ™”μŠ΅λ‹ˆλ‹€.
  3. μ‹€μ œλ‘œ cafile λŠ” 이번 ν˜Έμ—μ„œ μ—¬λŸ¬ 번 μ–ΈκΈ‰λ˜μ—ˆμ§€λ§Œ 더 λ§Žμ€ μ‚¬λžŒλ“€μ΄ λ³΄μ•ˆμ— λŒ€ν•΄ μƒκ°ν•˜μ§€ μ•Šκ³  λ‹¨μˆœνžˆ "λ‚˜λŠ” SSL이 μž‘λ™ν•˜μ§€ μ•ŠλŠ”λ‹€"라고 슀팸 메일을 보내고 μžˆμŠ΅λ‹ˆλ‹€. μ–΄μ¨Œλ“  SSL이 ν•„μš”ν•œ μ‚¬λžŒμ€ λˆ„κ΅¬μž…λ‹ˆκΉŒ?

당신은 μ•„λ§ˆλ„ 3을 κ³ μΉ  수 μ—†κ³  2λŠ” λ‹€λ₯Έ λ²”μœ„μ— μžˆμ§€λ§Œ λˆ„κ΅°κ°€κ°€ λ‚˜μ™€μ„œ 1을 κ³ μΉ  수 μžˆμ„ κ²ƒμž…λ‹ˆλ‹€. ν’€ λ¦¬ν€˜μŠ€νŠΈλ₯Ό μ œμ•ˆν•˜κ³  두 번째 λˆˆμ„ μ›ν•˜λ©΄ μ œκ°€ μ•„λ§ˆ 도움을 λ“œλ¦΄ 수 μžˆμŠ΅λ‹ˆλ‹€. μ•”ν˜Έμ— λŒ€ν•œ 지식), 비둝 λ‚΄κ°€ λ©”μΈν…Œμ΄λ„ˆκ°€ μ•„λ‹ˆκΈ° λ•Œλ¬Έμ— 그것을 μŠΉμΈν•  수 μ—†μ§€λ§Œ.

ν’€ λ¦¬ν€˜μŠ€νŠΈ(Pull Request)둜 μ΄λ™ν•˜μ—¬ 문제λ₯Ό ν•΄κ²°ν•˜λ©΄ ν•„μš”ν•œ 도움을 ν™•μ‹€νžˆ μ•Œλ €λ“œλ¦΄ κ²ƒμž…λ‹ˆλ‹€. :)

Nexus ν”„λ‘μ‹œ κ·Έλ£Ή 뒀에 앉아 μžˆλŠ” 것과 같은 ν˜„μƒμ„ 보고 μžˆμŠ΅λ‹ˆλ‹€. 이 μ‹œμ μ—μ„œ CA 파일 섀정은 NPMκ³Ό Yarn으둜 μ„€μ •λ˜μ§€λ§Œ μ—¬μ „νžˆ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€.

➜ yarn config list
yarn config v1.21.1
info yarn config
{
  'version-tag-prefix': 'v',
  'version-git-tag': true,
  'version-commit-hooks': true,
  'version-git-sign': false,
  'version-git-message': 'v%s',
  'init-version': '1.0.0',
  'init-license': 'MIT',
  'save-prefix': '^',
  'bin-links': true,
  'ignore-scripts': false,
  'ignore-optional': false,
  registry: 'https://registry.yarnpkg.com',
  'strict-ssl': true,
  'user-agent': 'yarn/1.21.1 npm/? node/v12.14.1 darwin x64',
  cafile: '/Users/XXXXXXX/pml_root_ca.pem',
  email: 'XXXXXXXXXXXXXXX',
  username: 'XXXXXXX'
}
info npm config
{
  '//registry.npmjs.org/:_authToken': XXXXXXXXXXXXXXXXXXXXX',
  cafile: '/Users/XXXXXXX/pml_root_ca.pem',
  registry: 'https://XXXXXXXXXXXXXXXXX/repository/npmjs/',
  '//nexus.pennmutual.com/repository/pml-npmjs/:_authToken': 'XXXXXXXXXXXXXXXXX',
  python: '/usr/bin/python'
}
✨  Done in 0.04s.

cdir-ui on ξ‚  feature/build_api is πŸ“¦ v0.1.0 via β¬’ v12.14.1 
➜ yarn install
yarn install v1.21.1
[1/5] πŸ”  Validating package.json...
[2/5] πŸ”  Resolving packages...
[3/5] 🚚  Fetching packages...
error An unexpected error occurred: "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz: unable to get local issuer certificate".
info If you think this is a bug, please open a bug report with the information provided in "/Users/XXXXXXX/Projects/cdir-ui/yarn-error.log
cdir-ui on ξ‚  feature/build_api is πŸ“¦ v0.1.0 via β¬’ v12.14.1 

IIUC, μ–΄λ–€ μ‹μœΌλ‘œλ“  ca λ˜λŠ” cafile λ₯Ό μ„€μ •ν•˜λ©΄, yarn은 λ…Έλ“œμ— TLS ꡬ성을 μ œκ³΅ν•˜κ³ , λͺ¨λ“  μ‹ λ’° λ…Έλ“œκ°€ 슀슀둜 μ„€μ •ν•˜λŠ” _ꡐ체_ν•©λ‹ˆλ‹€.
λŒ€μ‹ , μ‹œμŠ€ν…œμ˜ CA μ‹ λ’° μ €μž₯μ†Œ(#6578)와 μΆ”κ°€ CAλ₯Ό λͺ¨λ‘ μ‚¬μš©ν•  수 있으렀면 yarn config list ca / cafile κ΅¬μ„±λ˜μ–΄ μžˆμ§€ μ•Šμ€μ§€ ν™•μΈν•˜κ³  λ‹€μŒμ„ μ„€μ •ν•˜μ‹­μ‹œμ˜€. ν™˜κ²½ λ³€μˆ˜ :

# Depends how Node was compiled, already default on many Linuxes but can't hurt:
export NODE_OPTIONS=--use-openssl-ca

export NODE_EXTRA_CA_CERTS=/path/to/file.crt
이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰