<p>рдпрд╛рд░реНрди рд╢рд╛рдпрдж рдХреИрд╢ рдкрде рдХреЛ рдлрд╝рд╛рдЗрд▓ рдкрде рдХреЗ рд╕рд╛рде рд╣рд▓ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП</p>

рдХреЛ рдирд┐рд░реНрдорд┐рдд 6 рджрд┐рд╕ре░ 2016  ┬╖  75рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: yarnpkg/yarn

рдХреНрдпрд╛ рдЖрдк рдХрд┐рд╕реА рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдмрдЧ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?

рдореБрдЭреЗ рдПрдХ _bug_ рд▓рдЧрддрд╛ рд╣реИред

рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХреНрдпрд╛ рд╣реИ?
рдпрджрд┐ рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдмрдЧ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд░рдг рдкреНрд░рджрд╛рди рдХрд░реЗрдВред

рдХрд╣реЛ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдВрд░рдЪрдирд╛ рд╣реИ:

component-foo/
тФФтФАтФА package.json
тФФтФАтФА index.js

yarn-test/
тФФтФАтФА package.json

рдирд┐рдореНрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде:

component-foo/package.json :

{
  "name": "component-foo",
  "version": "1.0.0",
  "private": true,
  "main": "index.js"
}

component-foo/index.js :

console.log('foo');

yarn-test/package.json :

{
  "name": "yarn-test",
  "version": "1.0.0",
  "private": true,
  "dependencies": {
    "component-foo": "file:../component-foo"
  }
}

рдЕрдм рдЖрдк $ yarn install yarn-test/ рдФрд░ yarn-test/node_modules/component-foo/index.js рдЪрд▓рд╛рддреЗ рд╣реИрдВ:

console.log('foo');

рдЕрдм yarn-test/node_modules/ рдФрд░ yarn-test/yarn.lock рдирд┐рдХрд╛рд▓реЗрдВ рдФрд░ component-foo/index.js рдХреЛ рдЗрд╕ рдореЗрдВ рдмрджрд▓реЗрдВ:

console.log('bar');

рдЕрдм рдЖрдк $ yarn install yarn-test/ рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдПрдВрдЧреЗ рдФрд░ yarn-test/node_modules/component-foo/index.js рд╣реЛрдЧрд╛:

console.log('foo');

рдпрд╣ component-foo рдХреЗ рдХреИрд╢реНрдб рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди component-foo/index.js рдмрджрд▓ рдЧрдпрд╛ рд╣реИред

рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреНрдпрд╛ рд╣реИ?

рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ yarn-test/node_modules/component-foo/index.js рдпрд╣ рдЕрдВрдд рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

console.log('bar');

рд╢рд╛рдпрдж file:../ рдЬреИрд╕реЗ рд╕реНрдерд╛рдиреАрдп рд░рд╛рд╕реНрддреЛрдВ рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдЧрдП рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдХреИрд╢ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрдЧрд░ рд╣рдо рдмрджрд▓ рдирд╣реАрдВ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдЧрд░ рд╡реЗ рдмрджрд▓ рдЧрдП рд╣реИрдВред

(FYI рдХрд░реЗрдВ: рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ npm рдЙрдиреНрд╣реЗрдВ рдХреИрд╢ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред)

рдХреГрдкрдпрд╛ рдЕрдкрдиреЗ рдиреЛрдб.рдЬреЗрдПрд╕, рдпрд╛рд░реНрди рдФрд░ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░реЗрдВред

$ node -v
v6.9.1

$ yarn -V
0.18.0

macOS 10.12.1

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

@hantuzun рд╕реНрдерд╛рдиреАрдп рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдХреИрд╢ рдХреНрдпреЛрдВ рдХрд░рддрд╛ рд╣реИ? рд╡реЗ рд╕реНрдерд╛рдиреАрдп рд░рд╛рд╕реНрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рддреЗрдЬреА рд╕реЗ рдХреИрд╢ рд╣реЛрдЧрд╛ рдпрд╛ рдирд╣реАрдВред

рд╕рднреА 75 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЗрд╕рдиреЗ рдореБрдЭреЗ рднреА рдмреЗрд╡рдХреВрдл рдмрдирд╛рдпрд╛ред рд╕рднреА рдХреИрд╢ рдХреЛ рд╕рд╛рдлрд╝ рдХрд┐рдП рдмрд┐рдирд╛ рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЬрд╛рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдпрд╛рд░реНрди рдХреЛ рдЙрдкрдпреЛрдЧреА рдмрдирд╛рдиреЗ рдХреЗ рддреАрди рддрд░реАрдХреЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ:

  1. рд╕рднреА рд╕реНрдерд╛рдиреАрдп рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ @donaldpipowitch ред
  2. рд╕реНрдерд╛рдиреАрдп рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЕрдЧрд░ рдЗрд╕рдореЗрдВ рдХреЛрдИ рдлрд╝рд╛рдЗрд▓ рдмрд╛рдж рдореЗрдВ рд╕рдВрд╢реЛрдзрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ рдЬрдм рдЗрд╕реЗ рдХреИрд╢ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдЗрд╕ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЛ рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред рд╕реНрдерд╛рдиреАрдп рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд▓рд┐рдП рд╣рдо "рд░рд┐рдЬрд╝реЙрд▓реНрд╡реНрдб" рдХреЙрд▓рдо рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреА рд▓рд╛рдЗрдиреЗрдВ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ: file://<path>@<cache_timestamp>
  3. yarn cache rm <package> рдФрд░ yarn cache add <package> рдЬреИрд╕реЗ рдЖрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдХреБрд▓ рдирд╛рдореЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛ред рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд▓рд┐рдПред

рдореИрдВ рджреВрд╕рд░рд╛ рд╕реБрдЭрд╛рд╡ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдЬрдм рддрдХ, рддреАрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк рдЕрдиреНрдп рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рднреА рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреИрд╢ рдХреА рдЧрдИ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд▓рд┐рдП рдХреИрд╢ рдХреЛ рд░реАрдлреНрд░реЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП yarn cache add <package> рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрдм рдХреЛрдИ рдирд┐рд░реНрднрд░рддрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╕рдордп рдХреБрдЫ рдЧрд▓рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

@hantuzun рд╕реНрдерд╛рдиреАрдп рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдХреИрд╢ рдХреНрдпреЛрдВ рдХрд░рддрд╛ рд╣реИ? рд╡реЗ рд╕реНрдерд╛рдиреАрдп рд░рд╛рд╕реНрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рддреЗрдЬреА рд╕реЗ рдХреИрд╢ рд╣реЛрдЧрд╛ рдпрд╛ рдирд╣реАрдВред

@ satya164 рдЖрдк рд╕рд╣реА рдХрд╣ рд░рд╣реЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореИрдВ рддреАрд╕рд░реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЗрдЪреНрдЫреБрдХ рд╣реВрдВ рдпрджрд┐ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдПрдХ рдирд┐рд░реНрднрд░рддрд╛ рдЬрд╛рдирдмреВрдЭрдХрд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред

yarn cache ignore <package> рдЬреИрд╕рд╛ рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдкрд╛рд░рд╕реНрдкрд░рд┐рдХ рд░реВрдк рд╕реЗ рдЕрдирдиреНрдп рдирд╣реАрдВ рд╣реИрдВред рдкреИрдХреЗрдЬ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдореИрдиреБрдЕрд▓ рдХрд╛рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрджрд┐ рдЙрдиреНрд╣реЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рддреЛ рдлрд╝рд╛рдЗрд▓ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рдпрд╛рд╕ рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдХреНрдпрд╛ рдХреЛрдИ рдореБрдЭреЗ рдЖрдВрддрд░рд┐рдХ рддрд░реНрдХ рд╕рдордЭрд╛ рд╕рдХрддрд╛ рд╣реИ?

рдореЗрд░реА рд╕рдордЭ:
рдЬрдм file: рд╕рд╛рде рдПрдХ рдирд┐рд░реНрднрд░рддрд╛ file-resolver.js рдорд┐рд▓рддреА рд╣реИред рдпрд╣ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдИ рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП рдФрд░ рд╣реИрд╢реЗрдб рдирд╣реАрдВ рд╣реИред рдирд╣реАрдВ рд╣реИрд╢ рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреИрд╢ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП ...? рд▓реЗрдХрд┐рди copy-fetcher.js рд╣реИрд╢ рдХреЛ null рд░рдЦрдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ ... рдХреНрдпрд╛ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реИ?

@bestander рдпрд╛ @kittens рд╢рд╛рдпрдж рдЖрдк рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рдФрд░ рд╕рдордЭрд╛ рд╕рдХрддреЗ рд╣реИрдВ ...? PR тЩе рдмрдирд╛рдиреЗ рдореЗрдВ рдереЛрдбрд╝реА рдорджрдж рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗ

рд╣реИрд╢ рдХрд╛ рдЕрд░реНрде рд╣реИ md5 рд╣реИрд╢ рдЬреЛ рдЯрд╛рд░реНрдмреЙрд▓-рднреНрд░реВрдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдПред
рдпрд╣ рд╣реИрд╢ рддрдм рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рдпрд╛рд░реНрди.рд▓реЙрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХреИрд╢ рдореЗрдВ рдЕрдирдЬрд╝рд┐рдк рдХрд┐рдП рдЧрдП рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рд╕рд╣реЗрдЬрддреЗ рд╕рдордп рдлрд╝реЛрд▓реНрдбрд░ рдирд╛рдо рд╕реЗ рднреА рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЖрдк рд╕рд╣реА рджрд┐рд╢рд╛ рдореЗрдВ рдЦреБрджрд╛рдИ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдПрдХ рдкреАрдЖрд░ рдХрд╛ рдмрд╣реБрдд рд╕реНрд╡рд╛рдЧрдд рд╣реИред
рдЖрдк рд╢рд╛рдпрдж рдПрдХ рдкреАрдЖрд░ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдЯреВрдЯреА рд╣реБрдИ рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рдЬреЛрдбрд╝рддрд╛ рд╣реИ

рдЖрдк рд╢рд╛рдпрдж рдПрдХ рдкреАрдЖрд░ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдЯреВрдЯреА рд╣реБрдИ рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рдЬреЛрдбрд╝рддрд╛ рд╣реИ

рдареАрдХ рд╣реИ, рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдХреНрдпрд╛ рдореБрдЭреЗ рдЖрдкрдХреЛ рдкреАрдЖрд░ рдореЗрдВ рдПрдХ рд╕рдореАрдХреНрд╖рдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд┐рдВрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╛ рдореБрдЭреЗ рдХрд┐рд╕реА рдФрд░ (рдпрд╛ рдХрд┐рд╕реА рдХреЛ) рдХреЛ рдкрд┐рдВрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП ...?

рд╣рд╛рдБ, рдореБрдЭреЗ рдкрд┐рдВрдЧ

@bestander рд╢рд╛рдпрдж рдпрд╣ рдореБрджреНрджрд╛ рдмрдВрдж рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрднреА рддрдХ рддрдп рдирд╣реАрдВ рд╣реИ?

рд╣рд╛рдВ, рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕реЗ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдкреАрдЖрд░ рдХреЗ рд╢реАрд░реНрд╖рдХ рдореЗрдВ "рдлрд┐рдХреНрд╕ # 2165" рд▓рд┐рдЦрд╛ рдерд╛ред рд╢реБрд░реБрдЖрдд рдореЗрдВ рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдпрд╣ рдПрдХ рдЪрд╛рд▓реВ рдкреАрдЖрд░ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЗрд╕ рдмрдЧ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо рджреЛ рдкреАрдЖрд░ рдЪрд╛рд╣рддреЗ рд╣реИрдВ: рдкрд╣рд▓реЗ рд╡рд╛рд▓реЗ рдиреЗ рдПрдХ рдпреВрдирд┐рдЯ рдЯреЗрд╕реНрдЯ рдЬреЛрдбрд╝рд╛ (рдпрд╣ рджрд╛рд╡рд╛ рдЬреЛ рд╡рд┐рдлрд▓ рд╣реЛрдЧрд╛ рд╡рд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдХреНрд░рд┐рдп рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕реАрдЖрдИ рдирд╣реАрдВ рдЙрдбрд╝рд╛) рдФрд░ рджреВрд╕рд░рд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдареАрдХ рдХрд░ рджреЗрдЧрд╛ред

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдЬрдм PR рд╡рд┐рд▓рдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ github рдореБрджреНрджреЛрдВ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ

рддреЛ рдЬрд╛рд╣рд┐рд░ рд╣реИ рдпрд╣ рдЕрднреА рднреА рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ? рдпрд╣ рдИрдорд╛рдирджрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдХрд╖реНрдЯрдкреНрд░рдж рд╣реИред рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдкрд░ рдПрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕реНрддрд░ рдкрд░ рдереЛрдбрд╝рд╛ рд╡реНрдпрд╡рдзрд╛рди рдкреИрджрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдореИрдВ рдПрдХ рдореЙрдбреНрдпреВрд▓рд░ рд╡рд┐рдХрд╛рд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП file: рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдмреЗрдХрд╛рд░ рд╣рд┐рд╕реНрд╕рд╛ рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдерд╛рдиреАрдп рдкреИрдХреЗрдЬ рдЬрд┐рд╕реЗ рдореИрдВ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ ( file: рдореЗрдВ package.json file: рдкрде рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ), рддрд╛рдЬрд╝рд╛ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдиреАрдЪреЗ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ:

рдореЗрд░реЗ рдПрд╕реНрд▓рд┐рдВрдЯ-рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди-рдмреЗрд╕-рдПрд╕реНрд▓рд┐рдВрдЯ рдкреИрдХреЗрдЬ рдХреА рд╕рд╛рдордЧреНрд░реА рдХрд╛ рд╕рдВрдкрд╛рджрди

yarn cache clean && rm -rf node_modules/eslint-config-base-eslint && yarn install --force && yarn lint

рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдпреЛрдЧрджрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред
рдпрд╣ рдХреБрдЫ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ - рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреВрдЯреА рд╣реБрдИ рдПрдХреАрдХрд░рдг рдкрд░реАрдХреНрд╖рдг рд╕рдмрдорд┐рдЯ рдХрд░рдирд╛, рдПрдХ рдлрд┐рдХреНрд╕ рдпрд╛ рдХрд┐рд╕реА рдХреЛ рдлрд┐рдХреНрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╢реНрд╡рд╕реНрдд рдХрд░рдирд╛ред
рдпрджрд┐ рдЖрдк рдЙрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд░реНрд╡реЛрддреНрддрдо рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪреИрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдбрд┐рд╕реНрдХ рдЪреИрдирд▓ рдкрд░ рдорджрдж рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдлрд┐рдХреНрд╕ рдХреЛрдб рдХреА 10-15 рдкрдВрдХреНрддрд┐рдпрд╛рдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдпрд╣ рд╢рд╛рдпрдж рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рдмрдЪрд╛рдПрдЧрд╛

FYI рдХрд░реЗрдВ: рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ linking dependencies рдзреАрдореА https://github.com/yarnpkg/yarn/issues/1496#issuecomment -282688818

рдорд╛рдлрд╝ рдХрд░рдирд╛ред рдореБрдЭреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдкреАрдЖрд░ рдмрдирд╛рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рдорд┐рд▓рд╛ :( рдореИрдВ (рдФрд░ рдЕрднреА рднреА) рдмрд╣реБрдд рд╡реНрдпрд╕реНрдд рдерд╛ред

@bestander рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдЕрд╡рд░реЛрдзрдХ рд╣реИ, рдЬреЛ рдорд▓реНрдЯреА-рдореЙрдбреНрдпреВрд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдЕрдЧрд░ рдореИрдВ @donaldpipowitch рдХреЗ рдХреЛрдб рд▓рд┐рдВрдХ рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкрдврд╝ рд░рд╣рд╛ рд╣реВрдВ, рддреЛ рдХреНрдпрд╛ рд╣рд░ рдмрд╛рд░ рдЬрдм рд╣рдо рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдлрд╛рдЗрд▓-рд░рд┐рд╕реЙрд▓реНрд╡рд░ рдПрдХ рдирдпрд╛ hash (рд╢реВрдиреНрдп рдХреЗ рдмрдЬрд╛рдп) рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ? UUID рдХрд╣реЗрдВ рдпрд╛ рд╡рд░реНрддрдорд╛рди рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк? рдореБрдЭреЗ рдорд╛рдл рдХрд░ рджреЛ рдЕрдЧрд░ рдореБрдЭреЗ рдХреБрдЫ рдпрд╛рдж рдЖ рд░рд╣рд╛ рд╣реИ, рддреЛ рдореИрдВ рдХреЛрдб рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВред

рдЯрд╛рдЗрдо рд╕реНрдЯреИрдореНрдк рдФрд░ рдпреВрдЖрдИрдбреА рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рдХреИрд╢ рдПрдХ рдЙрдЪрд┐рдд рд╣реИрдХ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред
рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рд╣рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдХреИрд╢ рдХреЗ рдмрд┐рдирд╛ рд╕реАрдзреЗ рдХреЙрдкреА рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдкрд░рд┐рд╡рд░реНрддрдиред
рдЖрдЧреЗ рдмрдврд╝реЛ рдПрдХ рдкреАрдЖрд░ рднреЗрдЬреЗрдВ

Tue, 7 Mar 2017 рдХреЛ 03:38 рдкрд░, рдореИрдЯ рдЯреНрд░рд╛рдпрдиреНрд╣рдо рд╕реВрдЪрдирд╛рдПрдБ @ithub.com рдиреЗ рд▓рд┐рдЦрд╛:

@bestander https://github.com/bestander рдпрд╣ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдЕрд╡рд░реЛрдзрдХ рд╣реИ
рдореЗрд░реЗ рд▓рд┐рдП, рдПрдХ рдорд▓реНрдЯреА-рдореЙрдбреНрдпреВрд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ред рдЕрдЧрд░ рдореИрдВ @donaldpipowitch рдкрдврд╝ рд░рд╣рд╛ рд╣реВрдБ
https://github.com/donaldpipowitch рдХреЗ рдХреЛрдб рд▓рд┐рдВрдХ рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ
рд╕рд╣реА рдврдВрдЧ рд╕реЗ, рд╣рдо рдлрд╝рд╛рдЗрд▓-рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдПрдХ рдирдпрд╛ рд╣реИрд╢ (рдЗрд╕рдХреЗ рдмрдЬрд╛рдп) рдмрдирд╛ рд╕рдХрддреЗ рдереЗ
рдЕрд╢рдХреНрдд) рд╣рд░ рдмрд╛рд░ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ рддреЛ рдпрд╣ рдПрдХ рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИ? рдПрдХ рдпреВрдпреВрдЖрдИрдбреА рдХрд╣реЛ
рдпрд╛ рд╡рд░реНрддрдорд╛рди рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк? рдореБрдЭреЗ рдорд╛рдл рдХрд░ рджреЛ рдЕрдЧрд░ рдореБрдЭреЗ рдХреБрдЫ рдпрд╛рдж рдЖ рд░рд╣рд╛ рд╣реИ, рддреЛ рдореИрдВ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдБ
рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдХреЛрдб рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рдЙрддреНрддрд░ рд╕реАрдзреЗ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/yarnpkg/yarn/issues/2165#issuecomment-284612526 , рдпрд╛ рдореВрдХ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/ACBdWDS3xSr8KNu1o9Zn8sA9xdO8pyHOks5rjNEmgaJpZM4LFbmf
ред

@bestander рдЖрдкрдХреА рдкрд┐рдЫрд▓реА рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ: рдХреНрдпрд╛ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдХреЙрдкреА рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЗрд╕реЗ

@danrot рд╡рд┐рдВрдбреЛ рдХреЛ рд╕рд┐рдорд▓рд┐рдВрдХ рдХреЗ рд▓рд┐рдП рдПрдбрдорд┐рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдпрд╣ рднреА рдиреЛрдб рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдХреА рдУрд░ рдЧрдбрд╝рдмрдбрд╝ рдХрд░рддрд╛ рд╣реИ

рд╕рд╛рдЗрдорд▓рд┐рдВрдХ рднреА .npmignore рдФрд░ рдЙрд╕ рддрд░рд╣ рдХреЗ рд╕рд╛рдорд╛рди рдХреА рдЙрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИред (рдЬрд┐рд╕реЗ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

рдХреНрдпрд╛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╣реИ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдкреВрд░реЗ рдХреИрд╢ рдХреЛ рдХреНрд▓рд┐рдпрд░ рдХрд░ рд░рд╣рд╛ рд╣реИ? рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдХреЛрдИ yarn cache rm package рддрд░рд╣ рдХрд╛ рдЖрджреЗрд╢ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИред

@ rhys-e рдореИрдВ рдЗрд╕ рдЫреЛрдЯреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ:

#!/bin/sh
if [ $# != 1 ]
then
   echo Usage $0 package-name
   exit 1
else
    echo Reinstalling $1
fi

dir="node_modules/$1"

if [ -d $dir ]
then
    rm -fr $dir
fi

cache=`yarn cache dir`/npm-${1}*
#        echo $cache
rm -fr $cache && yarn install --force

рдХрд┐рд╕реА рдХреЛ рднреА рдмрд╕ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ yarn link рд╕рднреА рд╕реНрдерд╛рдиреАрдп рдирд┐рд░реНрднрд░рддрд╛ postinstall ? рдЙрдЪрд┐рдд рдирд┐рд░рд╛рдХрд░рдг рднреВрдорд┐ рддрдХ рдЙрдЪрд┐рдд рд╕рдорд╛рдзрд╛рди рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рд╕реНрдерд╛рдиреАрдп рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд▓рд┐рдП рд╣рд░ рдмрджрд▓рд╛рд╡ рдкрд░ рдкреИрдХреЗрдЬ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред рдПрдХ рдпрд╛рд░реНрди рд▓рд┐рдВрдХ рдЖрдкрдХреЛ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░реЗрдЧрд╛, рд╣реИ рдирд╛? (рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА)

рдореЗрд░реА рдУрд░ рд╕реЗ рдореИрдВрдиреЗ рдЬреЛ рдХреБрдЫ рднреА рдХрд┐рдпрд╛ рд╣реИ, рд╡рд╣ рдкреНрд░реА.рдЗрдирд╕реНрдЯреЙрд▓ рдЪрд░рдг рдкрд░ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реИ рдЬреЛ рдХрд┐ рд╕реНрдерд╛рдиреАрдп рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдлрд╝реЛрд▓реНрдбрд░ рдФрд░ рдиреЛрдб_рдореЙрдбрд▓ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЬреЛ рддреБрд▓рдирд╛ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдпрд╣ рдХрд┐рд╕реА рднреА рдЕрдВрддрд░ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдХреИрд╢реНрдб рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЕрдЦрдВрдбрддрд╛ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ (рдПрдХ рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП)ред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЬрдм рдХреЛрдИ рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдпрд╛рд░реНрди рдЗрдВрд╕реНрдЯреЙрд▓ рдмрд╣реБрдд рддреЗрдЬрд╝ рд╣реЛрддрд╛ рд╣реИ (рдХрдИ рд╕реНрдерд╛рдиреАрдп рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВ) рдФрд░ рдпрджрд┐ рдкреБрд░рд╛рдирд╛ рдХреИрд╢реНрдб рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рддреЛ рдЙрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

@lucdew рд▓рд┐рдВрдХ рдореВрд▓ рд░реВрдк рд╕реЗ рд╣реБрдб рдХреЗ рдиреАрдЪреЗ рдПрдХ рд╕рд┐рдорд▓рд┐рдВрдХ рдмрдирд╛рдПрдЧрд╛, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдирд╡реАрдирддрдо рд╕реНрдерд╛рдиреАрдп рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реЛрдиреЗ рд╕реЗ, рдХрд┐ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рд╕реЗ рдкрд╣рд▓реЗ рдХреИрд╢ рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдбрд┐рдкреНрд╕ рдХреЛ рд╕рд╛рдл рдХрд░рдирд╛ рд╕рд╣реА рд╕рдорд╛рдзрд╛рди рд╣реИред

рдореИрдВрдиреЗ рд╕реНрдерд╛рдиреАрдп рдкреИрдХреЗрдЬ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рд╣реИред рдореВрд▓ рдкреИрдХреЗрдЬ рдХреЗ рддрд╣рдд рд╕реНрдерд╛рдкрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрджреНрдпрддрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ ред/node_modules/ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрд╕ рдЗрд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА ./node_modules/рдкреНрд░рдердо:

yarn cache clean; yarn upgrade file:../<package>

рдХрд╣рдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ, рд╕реНрдерд╛рдиреАрдп рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ / рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЧреНрд▓реЛрдмрд▓ рдХреИрд╢ рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд░реВрд░реА рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

@fungilation рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдк рд╕реНрдерд╛рдиреАрдп рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП

рдкреНрд░рддрд┐ # 2860 рдФрд░ рдмрд╛рдж рдХреЗ рдорд░реНрдЬ https://github.com/yarnpkg/yarn/commit/7241de13bb236526fa439a2528fbed319f60ef24 , рдЕрдм рдЖрдк " file: рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде" рддрд╛рдЬрд╝рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

yarn install --force

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдпрд╛ рд╡рд┐рд╢реЗрд╖ рдкреИрдХреЗрдЬ рдХреЛ рдЕрдкрдЧреНрд░реЗрдб

yarn upgrade [file protocol package name]

рдкреАрдЖрд░ рдкрд░рд┐рд╡рд░реНрддрди рдХреИрд╢ рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЕрдорд╛рдиреНрдп рдХрд░ рджреЗрдЧрд╛ рдФрд░ рдЗрд╕реЗ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛ред yarn install рднреА рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдпрджрд┐ рдирд┐рд░реНрднрд░рддрд╛ рд╕рдВрд╕реНрдХрд░рдг рдмрджрд▓ рдЧрдпрд╛, рдЬреЛ рдпрд╛рд░реНрди рдХреЛ рдЕрдирд▓реЙрдХ рдХрд░рддрд╛ рд╣реИред рдлрд╝рд╛рдЗрд▓ред рдЕрдм рдЖрдкрдХреЛ рдХреИрд╢ рд╕рд╛рдлрд╝ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рди рд╣реА рд╕реНрдерд╛рдиреАрдп рдЗрдВрд╕реНрдЯреЙрд▓ рд╕реЗ рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╣рдЯрд╛рдПрдВред

рдореБрдЭреЗ рдпрд╣ рднреА рд╕реНрдкрд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдХрд┐ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдХреНрд░рд┐рдп RFC рд╣реИ, рд╕рдВрднрд╡рддрдГ link: рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд╕рд╛рдеред рдЗрд╕рдХрд╛ рдЕрдиреБрд╕рд░рдг рдпрд╣рд╛рдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, https://github.com/yarnpkg/rfcs/pull/34ред

@mtraynham рдЕрдкрдиреЗ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! Awesome рдпрд╣ рдХрдорд╛рд▓ рд╣реИред рдХрд┐рд╕реА рднреА рдХрд╛рд░рдг рд╕реЗ --force рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ? рдореБрдЭреЗ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдпрд╣ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдареАрдХ рд╕реЗ рджреЗрдЦреЗ рдмрд┐рдирд╛ рдпрд╣ рдЕрднреА рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ :) рдмрд╕ рдкреВрдЫ рд░рд╣рд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ npm рдХреЛ --force рдзреНрд╡рдЬ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ npm рдХреА рддрд░рд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ yarn upgrade [dependency] рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдЗрдВрдЧрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдпрд╣ рд╣рдореЗрд╢рд╛ рд▓реЙрдХрдлрд╛рдЗрд▓ рдХреЛ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ, рдЬреЛ рдХреЗрд╡рд▓ рдкреИрдХреЗрдЬ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рдЬреЗрд╕рди рд╕рдВрд╕реНрдХрд░рдг рдкрд░рд┐рд╡рд░реНрддрдиред рдореИрдВрдиреЗ рдЕрдкрдиреА рдореВрд▓ рдкреЛрд╕реНрдЯ рдЕрдкрдбреЗрдЯ рдХрд░ рджреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдкрдЧреНрд░реЗрдб рд╢рд╛рдпрдж рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рд╣реИред


рд▓рдШреБ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рдпрд╛рд░реНрди рдХреИрд╢-рд░рд┐рд╕реЙрд▓реНрд╡рд░ рдХреЗ рд╕рд╛рде рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдпрджрд┐ рд▓реЙрдХрдлрд╛рдЗрд▓ рдирд╣реАрдВ рдмрджрд▓рд╛, рддреЛ рд╣рдореЗрдВ рд▓реЙрдХрдлрд╛рдЗрд▓ рдЪреЗрдХ рдХреЛ рдЫреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдХреИрд╢ рдХреЛ рдкреВрдЫрдирд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдХреЛрдИ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИред рдпрд╣ upgrade рдпрд╛ install --force рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

yarn install --force рдкреНрд░рд▓реЗрдЦрди

"рдпрд╣ рд╕рднреА рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрддрд╛ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЬреЛ рдкрд╣рд▓реЗ рд╕реНрдерд╛рдкрд┐рдд рдереЗ"ред

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрд╣ рд▓реЙрдХрдлрд╛рдЗрд▓ рдЕрдЦрдВрдбрддрд╛ рдЬрд╛рдВрдЪ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдЧрд╛ред рдЕрдЧрд░ рдЖрдк рдкреИрдХреЗрдЬ рдХреЛ рдирд╣реАрдВ рдмрджрд▓рддреЗ рд╣реИрдВ рддреЛ рд▓реЙрдХрдлрд╛рдЗрд▓ рдЕрдЦрдВрдбрддрд╛ рдЬрд╛рдВрдЪ рдЖрдо рддреМрд░ рдкрд░ рдкрд╛рд╕ рд╣реЛрдЧреАред рдЬрд╕рди рдлрд╝рд╛рдЗрд▓ рдФрд░ рдЗрдирд╛рдпрдд рд╕реЗ рдЬрдорд╛рдирдд рди рджреЗрдВред рдЗрд╕реЗ рд▓рдВрдШрди рдХрд░рдиреЗ рд╕реЗ рдХреИрд╢ рдХреЛ рд▓реЙрдХрдлрд╛рдЗрд▓ рдХреЗ рдЦрд┐рд▓рд╛рдл рдЧреБрдо / рдмреЗрдореЗрд▓ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реИ, рд▓рд╛рдкрддрд╛ рд╣реЛрдиреЗ рдкрд░ рдЙрдиреНрд╣реЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдХрд┐рд╕реА рднреА рдирдП / рд▓рд╛рдкрддрд╛ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╡рд╛рдкрд╕ рдХреЙрдкреА рдХрд░реЗрдВред рдлрд┐рд░ рдпрд╣ npm install / postInstall рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рддрд╛ рд╣реИред

рдкреАрдЖрд░ рдкрд░рд┐рд╡рд░реНрддрди рдЕрдм рдХреИрд╢ рдореЗрдВ file: рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЕрдорд╛рдиреНрдп рдХрд░ рджреЗрдЧрд╛ рдФрд░ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдХреЙрдкреА рдХрд░реЗрдЧрд╛ред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ file: рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдХрднреА рднреА рдЕрдорд╛рдиреНрдп рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдЕрдиреНрдп рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдиреЗ рдЕрдкрдиреА рдкреИрдХреЗрдЬ.рдЬрд╕рди рдлрд╝рд╛рдЗрд▓ рдХреЛ рдирд╣реАрдВ рдмрджрд▓рд╛ рд╣реИ, рддреЛ рд╡реЗ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ (рдХреИрд╢ рдФрд░ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ)ред

рддреЛ рдХреНрдпрд╛, рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ? рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рд▓рдЧрднрдЧ 60 рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд╣реИрдВ (рдХреЛрдгреАрдп рд╕реЗ рд╡реЗрдмрдкреИрдХ рддрдХ), рдПрдХ file: рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рдеред рдПрдХ рджреВрд╕рд░реЗ install --force , рдЬрд╣рд╛рдВ рдореИрдВ рдХреЗрд╡рд▓ рд╕реНрдерд╛рдиреАрдп рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рддрд╛рдЬрд╝рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЗрд╕рдореЗрдВ ~ 5 рд╕реЗрдХрдВрдб ( yarn install 1.5

рдЕрдЧрд░ рдХреЛрдИ рд╕реАрдПрд▓рдЖрдИ рдХрдорд╛рдВрдб рд╣реИ рддреЛ рд▓реЙрдХрдлрд╝рд╛рдЗрд▓ рдЪреЗрдХ рдХреЛ рдЫреЛрдбрд╝ рдХрд░ рдХреЗрд╡рд▓ рд╡рд┐рд╢реЗрд╖ рдлрд╝рд╛рдЗрд▓ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд▓рд┐рдП рдХреИрд╢ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ, рддреЛ рдпрд╣ рдФрд░ рднреА рддреЗрдЬрд╝ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдПрдХ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИред


рдпрд╣ рд╕рдм рдХрд╣рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдореИрдВ рдЕрднреА рднреА рдЗрд╕реЗ рдПрдХ рдмреИрдВрдб-рд╕рд╣рд╛рдпрддрд╛ рдХрд╣реВрдВрдЧрд╛ред рдЗрд╕реЗ link: рдЬреИрд╕реЗ рдмреЗрд╣рддрд░ рд╕рдорд╛рдзрд╛рди рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ; рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдХреЛрдИ рднреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реНрдерд╛рдиреАрдп рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдХреИрд╢ рдХрд░рдиреЗ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд░рддрд╛ рд╣реИред рдмрд╣реБрдд рдХрдо рд╕реЗ рдХрдо, install --force рдпрд╛ upgrade рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЬреЛрдбрд╝рд╛ рдУрд╡рд░рд╣реЗрдб рдЬреНрдпрд╛рджрд╛рддрд░ рд▓рд╛рдкрд░рд╡рд╛рд╣реА рд╣реИ рдФрд░ рдЕрдм рдЖрдкрдХреЛ yarn cache clean; mv node_modules /tmp/ ред

рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ рдЬрд╡рд╛рдмред ред рдЗрд╕рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдпрд╛рд░реНрди рдХреЗ рдХреИрд╢ рд╕реЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдпрд╛рд░реНрди рд╕реНрдерд╛рдиреАрдп рд╕рд┐рдорд▓реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░рддрд╛ рд╣реИ? (рдХреНрдпреЛрдВрдХрд┐ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣реА рд╣реЛ рд░рд╣рд╛ рд╣реИ)

рдкреАрдЖрд░ рдкрд░рд┐рд╡рд░реНрддрди рдЕрдм рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдорд╛рдиреНрдп рдХрд░ рджреЗрдЧрд╛: рдХреИрд╢ рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рдФрд░ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдХреЙрдкреА рдХрд░реЗрдВред

рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рднреА рдореИрдВ рдПрдХ рдкреИрдХреЗрдЬ рдХреЗ рдЕрдВрджрд░ $ yarn рдХреЙрд▓ рдХрд░рддрд╛ рд╣реВрдВ, рдЬрд┐рд╕рдореЗрдВ "foo": "file:../" рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ "file:../" рдПрдХ рдирдИ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдИ рдЬрд╛рдПрдЧреА?

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ рдХрдИ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдкреИрдХреЗрдЬ рд╣реИ рдЬреЛ рдкреИрдХреЗрдЬ рднреА рд╣реИрдВ:

foo/
foo/examples/
foo/examples/example-1/
foo/examples/example-2/
foo/examples/example-3/
...
foo/examples/example-10/

рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╛рд░реНрди рдХреИрд╢ рдореЗрдВ foo 10 рдЧреБрдирд╛ рд╣реИред рдореИрдВ foo рд╣рд░ рд╕рдВрд╕реНрдХрд░рдг рдкрд░рд┐рд╡рд░реНрддрди рдкрд░ рдЕрдкрдиреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рднреА рдХрд░рддрд╛ рд╣реВрдВ (рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдЙрд╕ рддрд░рд╣ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рдХрдИ рдореЙрдбреНрдпреВрд▓ рд╣реИрдВ, рди рдХрд┐ рдХреЗрд╡рд▓ foo ), рдЗрд╕рд▓рд┐рдП рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░рд╛ рдпрд╛рд░реНрди рдХреИрд╢ рд╡рд░реНрддрдорд╛рди рдореЗрдВ _really_ quick рдмрдврд╝рддрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рд╕рд╣реА рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рдХреИрд╢ рдореЗрдВ рдмрд╛рд╕реА рд╕рдВрд╕реНрдХрд░рдг рд╣реЛрдиреЗ рд╕реЗ рдмреЗрд╣рддрд░ рд╡рд┐рдХрд▓реНрдк рд╣реИред
рдпрд╛рд░реНрди 0.26 рдХреЗ рд╕рд╛рде рдЖрдк рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдХреЙрдкреА рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рд╕рд┐рдорд▓рд╛рдЗрди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП link: рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╣рдо рдРрд╕реЗ рд╡рд░реНрдХрд╕реНрдкреЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рд╕рд┐рдореНрд▓рд┐рдВрдХ рдирд┐рд░реНрдорд╛рдг рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░реЗрдЧрд╛, https://github.com/yarnpkg/yarn/issues/3294

рд╣рд╛рдБ, рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рддрддреНрдкрд░ рд╣реИрдВ work

link: рдЕрднреА рддрдХ npm рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд╣реИ рдирд╛? (рдХреНрдпреЛрдВрдХрд┐ https://github.com/npm/npm/pull/15900 рдЕрднреА рднреА рдЦреБрд▓рд╛ рд╣реИред)

Npm 5 patchnote рд╕реЗ , рдлрд╛рдЗрд▓реЗрдВ рдЕрдм file: рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд╕рд╛рде рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рд┐рдорд┐рд▓рд┐рдВрдХ рд╣реЛ рдЬрд╛рддреА рд╣реИрдВ:

npm install ./packages/subdir рдЕрдм рдПрдХ рд░реЗрдЧреБрд▓рд░ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рдмрдЬрд╛рдп рдПрдХ рд╕рд┐рдорд▓рд┐рдВрдХ рдмрдирд╛рдПрдЧрд╛ред рдлрд╝рд╛рдЗрд▓: //path/to/tarball.tgz рдирд╣реАрдВ рдмрджрд▓реЗрдЧрд╛ - рдХреЗрд╡рд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реАрдорд╛рдВрдХрд┐рдд рд╣реИрдВред (# 15900)

рддреЛ рд╣рд╛рдБ, npm рдХреЗ рд╕рд╛рде рдХреЛрдИ link ред

npm install ./packages/subdir рдЕрдм рдПрдХ рд░реЗрдЧреБрд▓рд░ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рдмрдЬрд╛рдп рдПрдХ рд╕рд┐рдорд▓рд┐рдВрдХ рдмрдирд╛рдПрдЧрд╛

рдХрд┐рдВрдбрд╛ рджреБрд░реНрднрд╛рдЧреНрдпрд╢рд╛рд▓реА рд╕рдм рдХреБрдЫ рдХреЙрдкреА рдХрд░рдиреЗ ( node_modules ) рдФрд░ .npmignore рдпрд╛ files рдлрд╝реАрд▓реНрдб рдХрд╛ рд╕рдореНрдорд╛рди рди рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдг рдлрд╝рд╛рдЗрд▓ рдбрд┐рдкреЛрдВ рдиреЗ рдХрднреА рднреА рдРрд╕рд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдЕрдм рдпрд╣ рд╕рд┐рдорд▓рд┐рдВрдХ рд╕реЗ рднреА рдмрджрддрд░ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдлрд╝рд╛рдЗрд▓: рдФрд░ рд▓рд┐рдВрдХ: рдХреЛ рдФрд░ рдмреЗрд╣рддрд░ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░рдгрдиреАрддрд┐рдпрд╛рдБ рд╣реИрдВ рдЬрд┐рдирдХреЗ рдЕрдкрдиреЗ рдкреНрд░реЛ рдФрд░ рдХреЙрдиреНрд╕ рд╣реИрдВ рдФрд░ рдпрд╛рд░реНрди рдХреЛ рд▓реЛрдЧреЛрдВ рдХреЛ рдПрдХ рдЪреБрдирдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреА рдЪрд╛рд╣рд┐рдПред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП knit RFC рдХреЛ рд░рдгрдиреАрддрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ https://github.com/yarnpkg/rfcs/blob/master/accepted/0000-yarn-knit.md

@bestander

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рдХреИрд╢ рдореЗрдВ рдмрд╛рд╕реА рд╕рдВрд╕реНрдХрд░рдг рд╣реЛрдиреЗ рд╕реЗ рдмреЗрд╣рддрд░ рд╡рд┐рдХрд▓реНрдк рд╣реИред

рдпрд╛ рдЗрд╕рд▓рд┐рдП рдЖрдк рддрдм рддрдХ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░реЗрдВрдЧреЗ рдЬрдм рддрдХ рдЖрдк рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рд╕реЗ рдмрд╛рд╣рд░ рдирд╣реАрдВ рдирд┐рдХрд▓ рдЬрд╛рддреЗ рдФрд░ рдкрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХрд╛ рдпрд╛рд░реНрди рдХреИрд╢ рд▓рд╛рдЦреЛрдВ рдЧреАрдЧрд╛рдмрд╛рдЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ
IMO рдЬреЛ рдкреВрд░реА рдЪреАрдЬрд╝ рдХреЛ рдкрд╣рд▓реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЧрдВрднреАрд░ рд░реВрдк рд╕реЗ рддреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рддреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИред

рд╣рд╛рдп рджреЛрд╕реНрддреЛрдВ, рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХреЛрдИ рдЕрджреНрдпрддрди? рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЬрдм рд╣рдо рдХрдИ рдЙрддреНрдкрд╛рджреЛрдВ рдкрд░ рдПрдХ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдПрдХ рд╣реА рд▓рд┐рдВрдХ рдХрд┐рдП рдЧрдП рдмрд╣реБ-рдирд┐рд░реНрднрд░рддрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВред рд╡рд┐рдХрд╛рд╕ рдХреЗ рдПрдХ рджрд┐рди рдореЗрдВ рдХреИрд╢ рдХреЗ рдЧреАрдЧрд╛рдмрд╛рдЗрдЯреНрд╕, рдЖрджрд┐ рдХреНрдпрд╛ рдЖрдк рдХрдо рд╕реЗ рдХрдо рдЗрд╕реЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рдФрд░ рдРрд╕реЗ рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдХреИрд╢рд┐рдВрдЧ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

@nikdojo рдЙрдкрдпреЛрдЧ рдпрд╛рд░реНрди link: рдХреЗ рдмрдЬрд╛рдп рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЯреЛрдХреЙрд▓ file: , рдпрд╣ рд╕рд┐рдорд▓рд┐рдВрдХ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЗрд╕реЗ 0.26 рдореЗрдВ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрдИ рдЕрдВрддрд░-рдкрд░рд┐рдпреЛрдЬрдирд╛ рдирд┐рд░реНрднрд░рддрд╛ рд╣реИрдВ, рддреЛ рдХрд╛рд░реНрдпрд╕реНрдерд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВред

рд╕рдВрдХреЗрдд рдХреЗ рд▓рд┐рдП @mtraynham Thx, рдореИрдВрдиреЗ рдХрд┐рд╕реА рднреА рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдбреЙрдХреНрд╕ рдореЗрдВ link: рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╣рд╛рдБ рдирд╣реАрдВ рд╣реИред рдЕрдм рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░рдирд╛ред

@bestander btw рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-

рдпрд╣ рдХрднреА рд╣рд▓ рдирд╣реАрдВ рд╣реБрдЖ рдерд╛? рдЖрдкрдХреЛ рд╕реНрдерд╛рдиреАрдп рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХрд▓реЛрдХрд▓ (рдПрдирдкреАрдПрдо рдкреИрдХреЗрдЬреЛрдВ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдЬреЛ рд╕реНрдерд╛рдиреАрдп рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдкреИрдХреЗрдЬреЛрдВ рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдпрд╛рд░реНрди рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реЛрддрд╛ рд╣реИ - рдХреИрд╢рд┐рдВрдЧ рдХреЗ рдмрдЬрд╛рдп рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдЬрдВрдХреНрд╢рдиреЛрдВ рдпрд╛ рд╕рд┐рдорд┐рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛)ред рдПрдХ рдирдпрд╛ yarn install рддрдм рдХреИрд╢ рд╕реЗ рдкреБрд░рд╛рдиреЗ рд╕рд╛рдорд╛рди рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдВрдХ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдХреНрдпрд╛ рд╣рдо рдХрдо рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рд╡рд╛рд▓реЗ рдЕрдВрддрд░рд┐рдХреНрд╖ рдпрд╛рддреНрд░реА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдмрд╕ рд╕реНрдерд╛рдиреАрдп рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдХреИрд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдпрд╣ рдореБрджреНрджрд╛ рдЕрдм 1.5 рд╕рд╛рд▓ рдкреБрд░рд╛рдирд╛ рд╣реИ, рдФрд░ рдореИрдВ рд╣рд░ рдмрд╛рд░ yarn add ../<another-local-package> рдЪрд▓рдиреЗ рдкрд░ рдердХ рдЬрд╛рддрд╛ рд╣реВрдВ, рдореИрдВ another-local-package рдореЗрдВ рдХреБрдЫ рдмрджрд▓ рджреЗрддрд╛ рд╣реВрдВред

рд╣рд╛рдп @ рдлрдлреВрдВрджреА
рдореИрдВрдиреЗ рдПрдХ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджрд╛ рдЦреЛрд▓рд╛ рд╣реИ: # 6037

рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ
рдореИрдВрдиреЗ рдлрд╝рд╛рдЗрд▓ App.js рдореЗрдВ рдбрд╛рд▓ рджреА рд╣реИ
рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ ('рдпрд╣рд╛рдВ рд╣рдо рд╣реИрдВ'), рдФрд░ рдпрд╣ рдЖрдЙрдЯрдкреБрдЯ рдирд╣реАрдВ рд╣реБрдЖред
рдлрд┐рд░ рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ рдФрд░ рдпрд╣ рдЕрднреА рднреА рдХреИрд╢ рд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рдмрдирд╛рддрд╛ рд╣реИред
рдЗрд╕рд╕реЗ рдХреИрд╕реЗ рдмрдЪрд╛ рдЬрд╛рдП?

рдпрд╛рд░реНрди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореБрдЭреЗ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рд╡рд┐рдлрд▓ рд░рд╣рд╛ рд╣реИред рдЗрд╕реЗ рдЫреЛрдбрд╝рдХрд░ рдмрд╛рдХреА рд╕рднреА рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд░рд╣рд╛ред

рдореИрдВ рдкрд░реАрдХреНрд╖рдг рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдерд╛рдиреАрдп рдкреИрдХреЗрдЬ рдХрд╛ рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдореИрдВ рдкреБрд░рд╛рдиреЗ рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдореИрдВ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реВрдВред

рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА:

  1. рдпрд╛рд░реНрди рдХреИрд╢ рдХреА рд╕рдлрд╛рдИ ( yarn cache clean package-name )
  2. yarn add ' --force рд╕рд╛рде рдЖрдИрдПрдирдЬреА
  3. node_modules/package-name рдФрд░ yarn add ing рдХреЛ рдлрд┐рд░ рд╕реЗ рдирд┐рдХрд╛рд▓рдирд╛
  4. рд╕реНрдерд╛рдиреАрдп рдкреИрдХреЗрдЬ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ ( рдпрд╛рд░реНрди рдЕрднреА рднреА рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ , рднрд▓реЗ рд╣реА рдпрд╣ рдирдП рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ)
  5. рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдХрд╛ рд╕рдВрдпреЛрдЬрди

рдпрд╣ рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рд╣реИ, рдФрд░ рдореИрдВрдиреЗ рдЗрд╕ рдкрд░ рдЕрдкрдиреЗ рджрд┐рди рдХреЗ рд▓рдЧрднрдЧ 4 рдШрдВрдЯреЗ рдмрд┐рддрд╛рдП рд╣реИрдВред

рд╣рдореЗрдВ рд╕реНрдерд╛рдиреАрдп рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдФрд░ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ред рдореИрдВ .bin рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдПрдХ рдлрд╝рд╛рдЗрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛рд░реНрди рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП yarn link рдкреНрд░рд╢реНрди рд╕реЗ рдмрд╛рд╣рд░ рд╣реИред

@ рдпрд╛рд░реНрди рдбреЗрд╡рд▓рдкрд░реНрд╕: рдХреНрдпрд╛ рдЖрдк рдПрдХ рд╕реНрдерд╛рдиреАрдп рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ, рдЙрд╕ рд╕реНрдерд╛рдиреАрдп рдкреИрдХреЗрдЬ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рджреЛрдмрд╛рд░рд╛ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдХреЗ рдЙрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

@gregjacobs рдореБрдЭреЗ yarn install --force рд╕рд╛рде рд╕рдлрд▓рддрд╛ рдорд┐рд▓реА рдереА

@jonathantorley рдореИрдВ рд╕рд┐рд░реНрдл рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдХреЗ рд╕рд╛рде --force рдФрд░ рдпрд╣ рдЕрднреА рднреА рдпрд╛рд░реНрди 1.12.3 рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП: рдПрдХ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдЬреЛ рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд┐рд▓рддрд╛ рдерд╛ рд╡рд╣ рдЖрд╢реНрд░рд┐рдд рдкреИрдХреЗрдЬ рдХреА рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдерд╛ред рдереЛрдбрд╝рд╛ рдХрд╖реНрдЯрдкреНрд░рдж, рдФрд░ рдЖрдкрдХреЛ рдЗрд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рд╡рд░реНрддрди рдкрд░ (рдЬрдм рддрдХ рдЖрдк рдЗрд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ) рдХрд░рдирд╛ рдпрд╛рдж рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред

рд╕реНрдерд╛рдиреАрдп рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╕рдордп yarn рдХреЛ рдЗрд╕ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП

рдореИрдВрдиреЗ yarn upgrade MY_PACKAGE_NAME preinstall рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЬреЛрдбрд╝рд╛, рдФрд░ рдпрд╣ рдирд╡реАрдирддрдо NPM рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЕрдкрдЧреНрд░реЗрдб рд╣реБрдЖред (рдлрд┐рд░ рднреА, рдореБрдЭреЗ рдПрдирдкреАрдПрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЯрдХреНрдХрд░ рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ)ред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ yarn add file:PATH рдЕрдм рд╣рдореЗрд╢рд╛ рдирдИ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдпрд╛рд░реНрди 1.13.0 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рддреЗ рд╣реИрдВред
yarn install рдЕрднреА рднреА рдирд╣реАрдВред

@leavesster рдЕрднреА рднреА рдореЗрд░реЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИред

рдЗрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ tgz рдХрд╛ рдирд╛рдо рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛

link рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ: https://yarnpkg.com/lang/en/docs/cli/link/

yarn add file:PATH рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдирдИ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, package.json рдФрд░ .npmignore рдореЗрдВ рдлрд╛рдЗрд▓реЛрдВ рдХрд╛ рд╕рдореНрдорд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдпрд╣ рдЖрдкрдХреЗ рдкреИрдХреЗрдЬ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдмрджрд▓рдиреЗ рдХрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдк package.json рдФрд░ .npmignore рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рд╕рдореНрдорд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП yarn add file:PATH рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рдкреИрдХреЗрдЬ рдирд┐рд░реНрднрд░рддрд╛ рдореЗрдВ yarn pack рдЪрд▓рд╛рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдлрд┐рд░ рдЬрд╣рд╛рдБ рдЖрдк рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ yarn add file:path-to-local-pacckage.tgz

link рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ: https://yarnpkg.com/lang/en/docs/cli/link/

yarn link рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ рдЕрдЧрд░ рдХреЛрдИ рдПрдирдкреАрдПрдо рдкреИрдХреЗрдЬ рдЪрд╛рд╣рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдпрд╣ рдкреИрдХреЗрдЬ рдореЗрдВ рдлрд╛рдЗрд▓реЛрдВ рдХрд╛ рд╕рдореНрдорд╛рди рдХрд░рддреЗ рд╣реБрдП рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред json рдФрд░ .npmignoreред

@leavesster рдЕрднреА рднреА рдореЗрд░реЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИред

рдЗрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ tgz рдХрд╛ рдирд╛рдо рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛

рдореЗрд░реЗ рдкреИрдХреЗрдЬ рдореЗрдВ рдХреЛрдИ tgz , рдЬрд┐рд╕реЗ рдореИрдВ рд╡рд░реНрддрдорд╛рди рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП yarn add file: PACKAGE_PAH рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдореЗрд░реЗ рдкрд╛рд╕ рдЕрдкрдиреЗ рдкреИрдХреЗрдЬ рдореЗрдВ рд╕рд┐рд░реНрдл js рдХреЛрдб рд╣реИред рд╢рд╛рдпрдж tgz рдЕрднреА рднреА рдЧрд▓рдд рд╣реИ?

рдореЗрд░реЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ

@bestander рдпрд╣ рдореБрджреНрджрд╛ рдХреНрдпреЛрдВ рдмрдВрдж рд╣реБрдЖ? рдпрд╛рд░реНрди рдЕрднреА рднреА рд╕реНрдерд╛рдиреАрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ tgz рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдХреИрд╢рд┐рдВрдЧ рдХрд░рддрд╛ рд╣реИред рд╡рд░реНрдХрд╕реНрдкреЗрд╕ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрджрд┐ рдПрдХ рдкреИрдХреЗрдЬ рдореЗрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВ, рдФрд░ рдЕрдиреНрдп рдкреИрдХреЗрдЬ рдореЗрдВ рдкрд╣рд▓реЗ рдХреЗ рд╕рдорд╛рди рд╣реА рдкреИрдХреЗрдЬ рд╣реИрдВ, рд▓реЗрдХрд┐рди рджреВрд╕рд░реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде, рдФрд░ рдпрджрд┐ рдЖрдк рдПрдХ рдкреИрдХреЗрдЬ рдХреЛ рджреВрд╕рд░реЗ рдореЗрдВ рд▓рд┐рдВрдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЯреВрдЯ рдЧрдИ рд╣реИред ред

рдореЗрд░реЗ рдкрд╛рд╕ @gregjacobs рдЬреИрд╕рд╛ рд╣реА рдореБрджреНрджрд╛ рд╣реИред yarn cache clean package рдорджрдж рдирд╣реАрдВ рдХреАред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк yarn add path/to/package.tgz рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдХрд┐рд╕реА рджреВрд╕рд░реЗ рд╕реЗ рдмрджрд▓ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдмрд╕ yarn add path/to/../to/package.tgz , рдЗрд╕рд▓рд┐рдП рдкреВрд░реНрдг рдкрде рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╛рд░реНрди рдХреЗ рд▓рд┐рдП рдпрд╣ рдЕрд▓рдЧ рд╣реИ ред

рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ рдХрд┐ рд╕рдВрдХрд▓реНрдк рдкрде рджреНрд╡рд╛рд░рд╛ рдпрд╛рд░реНрди рд╕реНрдЯреЛрд░ рдХреИрд╢реНрдб рдкреИрдХреЗрдЬ рдХрд╣рд╛рдВ рд╣реИрдВ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ yarn cache list --pattern package рдЦрд╛рд▓реА рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдпрд╣реАрдВ рдХрд╣реАрдВ рд╣реИ https://github.com/yarnpkg/yarn/blob/eb2b565bb9b948e87b11119482ebc184a9d66141/src/resolvers/exotics/tarball-resolver.js#L58 -L63

рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ:

  • Url path/to/package.tgz рд╣реИрд╢ рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ (рдЗрд╕реАрд▓рд┐рдП path/to/package.tgz рдФрд░ path/to/../to/package.tgz рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реИрд╢ рдХреЗ рдкрд░рд┐рдгрд╛рдо)
  • рдЙрд╕ рд╣реИрд╢ рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рдЕрд╕реНрдерд╛рдпреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рддрд╛ рд╣реИ (рдЬреИрд╕реЗ рдпрд╣ рдПрдХ /Users/kich/Library/Caches/Yarn/v4/.tmp/c019816ee7d10ed5e1fef4072e8cc617 )
  • рдкрд╣рд▓реЗ isValidModuleDest рд╡рд╛рдкрд╕реА false рдЪрд▓реЗрдВ рдФрд░ рд╕рдм рд╕рд╣реА рд╣реЛ рдЬрд╛рдП
  • рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЯрд╛рд░рдмреЙрд▓ рдкреИрдХреЗрдЬ рдирд┐рдХрд╛рд▓реЗ рдЧрдП
  • рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рдлрд╝рд╛рдЗрд▓реЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХреА рдЧрдИ рд╣реИрдВ
  • рдЖрдк рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реНрд░реЛрддреЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкрд┐рдЫрд▓реЗ рдПрдХ рд╣реА рдирд╛рдо рдФрд░ рд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде рдирдП рдкреИрдХреЗрдЬ рдЯрд╛рд░рдмреЙрд▓ рдХрд╛ рдирд┐рд░реНрдорд╛рдг / рдкреИрдХ рдХрд░рддреЗ рд╣реИрдВ
  • рдФрд░ рдЖрдк рдирдП рдЯрд╛рд░рдмреЙрд▓ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрддреНрдкрдиреНрди рд╣реИрд╢ рдкрд╣рд▓реЗ рдХреА рддрд░рд╣ рд╣реА рд╣реИ рдФрд░ рдкрд╣рд▓реЗ рд░рди рдХреЗ рдмрд╛рдж рдЕрд╕реНрдерд╛рдпреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдордВрдЬреВрд░реА рдирд╣реАрдВ рджреА рдЧрдИ рдереА
  • рддреЛ рдЗрд╕ рд╕рдордп рдореЗрдВ isValidModuleDest рд░рд┐рдЯрд░реНрди true
  • рдФрд░ рдпрд╛рд░реНрди рдЕрдкрдиреЗ рдкреИрдХреЗрдЬ рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
  • рдЖрдк yarn cache clean package рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрд╕реНрдерд╛рдпреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЕрдЫреВрддреА рд░рд╣рддреА рд╣реИ

@bestander рдХреНрдпрд╛ рд╣рдо рдпрд╣рд╛рдВ рдХреЗрд╡рд▓ рдЕрд╕реНрдерд╛рдпреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ https://github.com/yarnpkg/yarn/blob/master/src/config.js#L431 ?

рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реБрдП, рдореИрдВ рдХреЗрд╡рд▓ рдПрдХ рджрд┐рди рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп pacakge рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЕрд╕реНрдерд╛рдпреА рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рддрд╣рдд рдХреИрд╢ 10GB рд▓реЗрддрд╛ рд╣реВрдВ!

рдХреНрдпрд╛ рд╣рдо рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ? рд╣рдо рдЙрд╕реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдлрд╝рд╛рдЗрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджреВрд╕рд░реЗ рдкреИрдХреЗрдЬ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рджреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдБ:ред рд╣рдорд╛рд░реЗ CI / CD рд╕рд░реНрд╡рд░ рдореЗрдВ рдХреБрдЫ рдмрд┐рд▓реНрдб рдХреЗ рдмрд╛рдж, рдХреИрд╢ рдлрд╝реЛрд▓реНрдбрд░ рдмрд╣реБрдд рд╕реА рдЬрдЧрд╣ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдлрд┐рдХреНрд╕ рд╣реИ, рдлрд╝рд╛рдЗрд▓: // рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдЕрднреА рднреА рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕рд╛рдл рдХреИрд╢ рдФрд░ рдлреЛрд░реНрд╕ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

https://github.com/yarnpkg/yarn/issues/2165#issuecomment -345825904

рдмрд╕ рдЕрдкрдиреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдмрдирд╛рдУ

"<package>": "link:./libs/<package>"

@alxtz рд▓рд┐рдВрдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ tgz рдореЗрдВ рд╕рдВрдХреБрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдлрд┐рдХреНрд╕ рд╣реИ, рдлрд╝рд╛рдЗрд▓: // рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдЕрднреА рднреА рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕рд╛рдл рдХреИрд╢ рдФрд░ рдлреЛрд░реНрд╕ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

# 2165 (рдЯрд┐рдкреНрдкрдгреА)

рдмрд╕ рдЕрдкрдиреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдмрдирд╛рдУ

"<package>": "link:./libs/<package>"

рдзрдиреНрдпрд╡рд╛рдж рдЗрд╕ рдХреЗ рд▓рд┐рдП рдЗрд╕ NPM рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдЬреЛ рд╕рд┐рдорд▓рд┐рдВрдХ рдЬрд╛рдПрдЧрд╛ replicates file:.. рдореЗрдВ рд╕рдВрджрд░реНрдн node_modules ред рдпрд╣ рдкреНрд░рд▓реЗрдЦрд┐рдд рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИ, рдХрдо рд╕реЗ рдХрдо рдпрд╣рд╛рдВ рдирд╣реАрдВ рдЬрд╣рд╛рдВ рдореИрдВ рдЗрд╕реЗ рдЦреЛрдЬрдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░реВрдВрдЧрд╛: https://yarnpkg.com/lang/en/docs/package-json/

рдЕрдлрд╕реЛрд╕ рдХреА рдмрд╛рдд рд╣реИ, рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ link рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдЕрдкрдиреЗ рдПрд╕рдбреАрдХреЗ рдкреИрдХреЗрдЬ рд╕реЗ рдПрдХ рд╕рд╛рдЭрд╛ / рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рдЬрдм рдореИрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рд╕реНрдерд╛рдиреАрдп рджреЗрд╡ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ рдХрд░реВрдВрдЧрд╛ред
link , рдпрд╛рд░реНрди рдХреЛ рдпрд╣ рдкрддрд╛ рдирд╣реАрдВ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдирд┐рд░реНрднрд░рддрд╛ рдПрдХ рд╕рд╛рдЭрд╛ / рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛ рд╣реИ рдФрд░ рд╕реНрдерд╛рдиреАрдп рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рд╕рд┐рдорд┐рд▓рд┐рдВрдХ рд╣реИ, рдЬреЛ рдЧрд▓рдд рд╣реИред

рдореИрдВ yarn pack рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ yarn add file:<path_to_packed_tgz> рдЖрд╕рдкрд╛рд╕ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдПред
рдЬрдм рднреА рдореИрдВ рдкреИрдХреЗрдЬ рдХреЛ рд╣рд░ рдмрд╛рд░ рдкреИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕реЗ рдЕрдкрдиреЗ рд░реЗрдкреЛ рдореЗрдВ рдкреЗрд╕реНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП @wKich рд╢рд╛рдирджрд╛рд░ рдЦреЛрдЬ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╕рдорд╛рди рд╣реИрд╢ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ, рдпрд╣ рдмрд╣реБрдд рдХрд╖реНрдЯрдкреНрд░рдж рд╣реИред

рдореИрдВрдиреЗ рд░реЗрдкреЛ рдХреЛ forked рдХрд┐рдпрд╛ рдФрд░ рдЕрдЧрд░ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдореЗрдВ рдпрд╛рд░реНрди рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреНрд▓реЙрдЬ рд▓рдЧрд╛ рджрд┐рдпрд╛ рддреЛ рдЙрд╕рдХреЗ рдХреИрд╢ рд╕реЗ рдПрдХ рд╕реНрдерд╛рдиреАрдп .tgz рдкреИрдХреЗрдЬ рд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдЕрдЧрд░ рдпрд╣ yarn add file:<path> рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

const dest = this.config.getTemp(crypto.hash(url));
// If specified using file: never load from cache
if (!url.match(/file:/) && (await this.config.isValidModuleDest(dest))) {
  // load from local cache
} else {
  // continue as if it's a new package
}

рдореИрдВ рдПрдХ рдкреАрдЖрд░ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реВрдВ рдЕрдЧрд░ рд▓реЛрдЧ рдЗрд╕реЗ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВрдиреЗ рдРрд╕рд╛ рдкрд╣рд▓реЗ рдХрднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рд╣реИрдХреА рдлрд┐рдХреНрд╕ рд╣реИред
рдХреЛрдИ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдпрд╛рд░реНрди рдХреЗ рдХреИрд╢ рдореЗрдВ рд╕реНрдерд╛рдиреАрдп рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдЧрд╛ рдпрд╛ рдирд╣реАрдВ, рдХреГрдкрдпрд╛?

@ojboj рдЕрднреА рдХреЗ рд▓рд┐рдП, yalc рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рдПрдХ рдЙрдЪрд┐рдд рдлрд┐рдХреНрд╕ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ред рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рдХрд╛рд╢рди рд╕реЗ рдкрд╣рд▓реЗ рд╕рдВрдХреБрд▓ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

@soupors рд░рд╣рд╕реНрдпрдордп рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдореБрдЭреЗ рдЪрд╛рд╣рд┐рдП рдерд╛ / рдЪрд╛рд╣рддрд╛ рдерд╛, рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж!

рдЗрддрдиреЗ рд╕рд╛рд▓реЛрдВ рдмрд╛рдж рднреА рдпрд╣ рдПрдХ рдореБрджреНрджрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдпрд╛рд░реНрди@2.x рдореЗрдВ рддрдп рд╣реИ

@ рдореИрдВ рдРрд╕рд╛ рдорд╛рдирддрд╛ рд╣реВрдБ! рдореИрдВрдиреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдирдП рдкреЛрд░реНрдЯрд▓ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдиреАрдп рд╡рд┐рдХрд╛рд╕ рдХреЛ рд╣рд▓ рдХрд░рддреЗ рд╣реИрдВред

рдореБрдЭреЗ рдЕрднреА рднреА link: рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ "рдПрдХ рд╣реА рдЧрдВрддрд╡реНрдп рдореЗрдВ" рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ, рдФрд░ рдпрд╣ рдореЗрд░реЗ рдХреИрд╢ рдбреАрдЖрдИрдЖрд░ рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╛рд░реНрди рдЕрднреА рднреА link: рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдХреИрд╢рд┐рдВрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред рдореИрдВ рдЙрд╕реА рд╕реНрдерд╛рдиреАрдп рдкреИрдХреЗрдЬ рдХреА 2 рдкреНрд░рддрд┐рдпреЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ .deps/ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдИ рдЧрдИ рд╣реИ - рдЬреЛ front-end рдФрд░ renderer рдиреАрдЪреЗ рддреНрд░реБрдЯрд┐ рдореЗрдВ рд╣реИред (рдЕрд╕рдВрдмрдВрдзрд┐рдд рдХрд╛рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдореВрд▓ рд╕реЗ рд▓рд┐рдВрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛)

warning Pattern ["@horizon/common<strong i="11">@link</strong>:packages/front-end/.deps/@horizon/common"] is trying to unpack in the same destination "/home/garyo/.cache/yarn/v6/[email protected]/node_modules/@horizon/common" as pattern ["@horizon/common<strong i="12">@link</strong>:packages/renderer/.deps/@horizon/common"]. This could result in non-deterministic behavior, skipping.
рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

baptistelebail picture baptistelebail  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

NonPolynomial picture NonPolynomial  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

mnpenner picture mnpenner  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

sanex3339 picture sanex3339  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

MunifTanjim picture MunifTanjim  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ