рд╢реАрд░реНрд╖рдХ рдереЛрдбрд╝рд╛ рд╕рд╛ рдореБрдВрд╣рдлрдЯ рд╣реИред рдЕрдзрд┐рдХ рд╢рдмреНрджреЛрдВ рдореЗрдВ: рдЬрдм .npmrc
(рдпрд╛, рд╕рдВрднрд╡рддрдГ, .yarnrc
) рдХреЛ _both_ рдПрдХ рдирд┐рдЬреА рд░рдЬрд┐рд╕реНрдЯреНрд░реА URL _and_ рдХреЗ рд╕рд╛рде рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ npm рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдСрде рдЯреЛрдХрди рд╣реИ, рд╕реНрдХреЛрдкреНрдб рдкреИрдХреЗрдЬ рдмреНрд░реЗрдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ред рдпрд╣рд╛рдВ рд╡рд┐рдЪрд╛рд░рд╛рдзреАрди рдирд┐рдЬреА рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдЖрд░реНрдЯрд┐рдлреИрдХреНрдЯрд░реА рд╣реИ, рдФрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓рд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рдпрд╣ рд╣реИ рдХрд┐ рдпрд╛рд░реНрди рдХреНрд░реЗрдбрд┐рдЯ рднреЗрдЬ рд░рд╣рд╛ рд╣реИ (_рдЕрдиреБрдкрдпреБрдХреНрдд_: рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдпреВрдЖрд░рдПрд▓ рдХреЗ рд▓рд┐рдП рд╣реИ), рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрд░реНрдЯрд┐рдлреИрдХреНрдЯрд░реА рдЦреБрд╢ рдирд╣реАрдВ рд╣реИ, рдФрд░ 401 (рдЪреВрдВрдХрд┐ рдХреНрд░реЗрдбрд┐рдЯ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдПрдирдкреАрдПрдо рдХреЗ рд▓рд┐рдП рд╣реИрдВ, рдЖрд░реНрдЯрд┐рдлреИрдХреНрдЯрд░реА рдирд╣реАрдВ)ред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпреЛрдВ рд╕реНрдХреЛрдкреНрдб рдкреИрдХреЗрдЬреЛрдВ рдХрд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдиреНрдпрдерд╛ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЖрджреЗрд╢ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИрдВ:
> pwd
~
> cat .yarnrc
cat: .yarnrc: No such file or directory
> cat .npmrc
registry=<private registry URL that works fine with npm and non-scoped packages>
//registry.npmjs.org/:_authToken=<my auth token>
> yarn add @types/d3-scale --verbose
yarn add v0.19.1
info No lockfile found.
verbose Performing "GET" request to "https://yarnpkg.com/latest-version".
[1/4] ЁЯФН Resolving packages...
verbose Performing "GET" request to "<correct private registry URL ...>/@types%2fd3-scale".
verbose Request "<correct private registry URL ...>/@types%2fd3-scale" finished with status code 401.
verbose Error: Couldn't find package "@types/d3-scale" on the "npm" registry.
at MessageError (/usr/local/Cellar/yarn/0.19.1/libexec/lib/node_modules/yarn/lib/errors.js:8:5)
at /usr/local/Cellar/yarn/0.19.1/libexec/lib/node_modules/yarn/lib/resolvers/registries/npm-resolver.js:207:15
at next (native)
at step (/usr/local/Cellar/yarn/0.19.1/libexec/lib/node_modules/yarn/node_modules/babel-runtime/helpers/asyncToGenerator.js:17:30)
at /usr/local/Cellar/yarn/0.19.1/libexec/lib/node_modules/yarn/node_modules/babel-runtime/helpers/asyncToGenerator.js:28:13
at process._tickCallback (internal/process/next_tick.js:103:7)
error Couldn't find package "@types/d3-scale" on the "npm" registry.
info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.
> npm install @types/d3-scale
~
тФФтФАтФм @types/[email protected]
тФФтФАтФА @types/[email protected]
> yarn add d3-scale
yarn add v0.19.1
info No lockfile found.
[1/4] ЁЯФН Resolving packages...
[2/4] ЁЯЪЪ Fetching packages...
[3/4] ЁЯФЧ Linking dependencies...
[4/4] ЁЯУГ Building fresh packages...
success Saved lockfile.
success Saved 8 new dependencies.
тФЬтФА [email protected]
тФЬтФА [email protected]
тФЬтФА [email protected]
тФЬтФА [email protected]
тФЬтФА [email protected]
тФЬтФА [email protected]
тФЬтФА [email protected]
тФФтФА [email protected]
тЬи Done in 2.45s.
# edit .npmrc...
> cat .npmrc
registry=<same registry URL>
> yarn add @types/d3-scale
yarn add v0.19.1
warning No license field
[1/4] ЁЯФН Resolving packages...
[2/4] ЁЯЪЪ Fetching packages...
[3/4] ЁЯФЧ Linking dependencies...
[4/4] ЁЯУГ Building fresh packages...
success Saved lockfile.
success Saved 2 new dependencies.
тФЬтФА @types/[email protected]
тФФтФА @types/[email protected]
warning No license field
тЬи Done in 1.50s.
рдЕрддрд┐рд░рд┐рдХреНрдд рдкреГрд╖реНрдарднреВрдорд┐ рдХреЗ рд▓рд┐рдП, рдЕрдирд╛рдо рдкрд╣реБрдВрдЪ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд░реНрдЯрд┐рдлреИрдХреНрдЯрд░реА рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдХреЛрдИ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЬреЛ рдЪрд╛рд╣реЗрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдХреЛрдИ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрд░реНрдЯрд┐рдлреИрдХреНрдЯрд░реА рдЙрдиреНрд╣реЗрдВ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ рдФрд░ 401 рд╕реНрдерд┐рддрд┐ рд▓реМрдЯрд╛рддрд╛ рд╣реИ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред)
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреЛрдб рдХреА рдЕрдкрдорд╛рдирдЬрдирдХ рдкрдВрдХреНрддрд┐ рд╣реИ: https://github.com/yarnpkg/yarn/blob/master/src/registries/npm-registry.js#L56 (рдЕрдВрддрд┐рдо рдЦрдВрдб)ред
рд╕рдВрджрд░реНрдн рдореЗрдВ рдкрдврд╝рдирд╛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕реЗ рд▓реЗрдЦрдХ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ "рд╕реНрдХреЛрдкреНрдб" рдХрд╛ рдЕрд░реНрде "рдкреНрд░рдорд╛рдгрд┐рдд" рд╣реИред
рдкрд┐рдЫрд▓реЗ рд╢реБрдХреНрд░рд╡рд╛рд░ рдХреЛ рдареАрдХ рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рдереА, рд╕реНрдерд╛рдиреАрдп рдЖрд░реНрдЯрд┐рдлреИрдХреНрдЯрд░реА рд╕реЗ рд╕реНрдХреЛрдкреНрдб рдкреИрдХреЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП ~/.npmrc рд╕реЗ рдСрде рдЯреЛрдХрди рдХреЛ рд╣рдЯрд╛рдирд╛ рдкрдбрд╝рд╛ред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреЛрдб рдХреА рдЕрдкрдорд╛рдирдЬрдирдХ рдкрдВрдХреНрддрд┐ рд╣реИ: https://github.com/yarnpkg/yarn/blob/master/src/registries/npm-registry.js#L56 (рдЕрдВрддрд┐рдо рдЦрдВрдб)ред
рд╕рдВрджрд░реНрдн рдореЗрдВ рдкрдврд╝рдирд╛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕реЗ рд▓реЗрдЦрдХ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ "рд╕реНрдХреЛрдкреНрдб" рдХрд╛ рдЕрд░реНрде "рдкреНрд░рдорд╛рдгрд┐рдд" рд╣реИред