<p>рдПрдирдкреАрдПрдХреНрд╕ рдХреЗ рдмрд░рд╛рдмрд░ рдпрд╛рд░реНрди?</p>

рдХреЛ рдирд┐рд░реНрдорд┐рдд 15 рдЬреБрд▓ре░ 2017  ┬╖  35рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: yarnpkg/yarn

рдпрд╛рд░реНрди рдХреИрд╕реЗ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ рдХрд┐ рд╣рдо рдПрдирдкреАрдПрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ (рдЬреЛ рдЕрдм рдПрдирдкреАрдПрдо рдХрд╛ рдореБрдЦреНрдп рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ - https://github.com/npm/npm/pull/17685)ред

рдореВрд▓ рд░реВрдк рд╕реЗ, рдпрд╣ рдХреБрдЫ рд╣рдж рддрдХ рд░реВрдмреА рдХреЗ "рдмрдВрдбрд▓ рдирд┐рд╖реНрдкрд╛рджрди" рдХреА рддрд░рд╣ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдпрд╣ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ рдирд┐рд░реНрднрд░рддрд╛ рдЧрд╛рдпрдм рд╣реИред рдпрд╣ рдпрд╛рд░реНрди рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░ рджреЗрдЧрд╛ рдФрд░ рд╡рд╛рдкрд╕ npm рдкрд░ рд╕реНрд╡рд┐рдЪ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдХреНрдпрд╛ рдРрд╕рд╛ "рд╡рд╛рдИрдкреАрдПрдХреНрд╕" рд╕рдордХрдХреНрд╖ рдмрдирд╛рдиреЗ рдХреА рдХреЛрдИ рдпреЛрдЬрдирд╛ рд╣реИ рдЬреЛ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛рд░реНрди рдХрд╛ рд▓рд╛рдн рдЙрдард╛рддреА рд╣реИ?

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

@sandys - рдореБрджреНрджрд╛ @zkat рд╕рдВрджрд░реНрднрд┐рдд ( npm #6053) yarn рдкрд░ рдХреЛрдИ рдореБрджреНрджрд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдХреЗрд╡рд▓ yarn x (рдпрд╛ yarn run x рдпрджрд┐ рдЖрдк рдмрдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ) рд╕реНрдкрд╖реНрдЯ) рдпрджрд┐ x рдЖрдкрдХреА ./node_modules/.bin рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ npx рд╕рдордХрдХреНрд╖рддрд╛ рдХреА рдХреЛрдИ рд╕рдЦреНрдд рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдордЬрдмреВрдд рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдХреНрдпрд╛ рдЖрдк рд╕рдордЭрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ? рдЙрджрд╛. рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдХрд┐рд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░реЗрдЧрд╛?

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

рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдХреНрдпрд╛ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдирдкреАрдПрдХреНрд╕ "рдпрд╛рд░реНрди рдХреНрд░рд┐рдПрдЯ" рд╕реЗ рдкреНрд░реЗрд░рд┐рдд рдерд╛ рдЬреЛ рд╕рдорд╛рди рд╣реИ рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ "рдХреНрд░рд┐рдПрдЯ-" рдХреЗ рд╕рд╛рде рдЙрдкрд╕рд░реНрдЧ рдХрд┐рдП рдЧрдП рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдХреНрдпрд╛ рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВред

рд╣рд╛рдБ, рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ yarn create (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП yarn create react-app рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджреЗрдЦреЗрдВ)ред рд╣рдо рдЗрд╕реЗ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЕрдиреНрдп рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рд░реЛрдбрдореИрдк рдкрд░ рдирд╣реАрдВ рд╣реИред

рдореИрдВ рд▓рд╛рдЗрдмреНрд░реЗрд░реА-рдЗрдлрд╛рдЗрдВрдЧ рдПрдирдкреАрдПрдХреНрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореМрдЬреВрджрд╛ npx рдХреЛрдб рдХреЛ рд╣рдерд┐рдпрд╛рдирд╛ рдФрд░ npm рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣рд┐рдореНрдордд рдХреЛ рдпрд╛рд░реНрди-рд╕рдорддреБрд▓реНрдп рдХрдорд╛рдВрдб рд╕реЗ рдмрджрд▓рдирд╛ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдХрд╛рдо рдирд╣реАрдВ рд╣реИред

рдореИрдВ рдЗрд╕реЗ рд╕реАрдзреЗ npx рдореЗрдВ рдирд╣реАрдВ рдЬреЛрдбрд╝реВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ _meant_ рдЕрдЬреНрдЮреЗрдпрд╡рд╛рджреА рд╣реЛрдирд╛ рд╣реИ: npx рдХреЛрдИ рд╕рдВрдЪрд╛рд▓рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЕрдиреНрдп рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдШрд░реНрд╖ рдХрд░рддрд╛ рд╣реИред рдЗрд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ npm рд╣реЛрдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк npm rm -g npm рдФрд░ npx рдареАрдХ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рддреЛ рдЖрдк рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ npx _is_ ypx , рдЬрдм рддрдХ рдХрд┐ рдЖрдк рдХреИрд╢-рд╢реЗрдпрд░рд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджреГрдврд╝рддрд╛ рд╕реЗ рдорд╣рд╕реВрд╕ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдПрдХ рд╕реБрдВрджрд░ рдмрд╛рдд рд╣реИред

(рдкреБрди: рдкреНрд░реЗрд░рдгрд╛ рдореЗрдВ: рдПрдирдкреАрдПрдХреНрд╕ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЗрд╕ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдлреАрдЪрд░ рдЕрдиреБрд░реЛрдз рд╕реЗ рдкреНрд░реЗрд░рд┐рдд рд╣реИ: https://github.com/npm/npm/issues/6053ред рдЗрд╕рдХреА рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ _this_ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИред рдСрдЯреЛ-рдЗрдВрд╕реНрдЯреЙрд▓ рд╕реБрд╡рд┐рдзрд╛ _was_ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдкреЛрд╕реНрдЯ-рдпрд╛рд░реНрди-рдХреНрд░рд┐рдПрдЯ, рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЙрд╕ рд╡рд┐рд╢реЗрд╖ рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рд╕рдорд╛рдзрд╛рди рд╣реЛрдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд╣реИ - рд▓реЗрдХрд┐рди рдпрд╣ рдЙрд╕рд╕реЗ _way more_ рдХрд░рддрд╛ рд╣реИ)

@sandys - рдореБрджреНрджрд╛ @zkat рд╕рдВрджрд░реНрднрд┐рдд ( npm #6053) yarn рдкрд░ рдХреЛрдИ рдореБрджреНрджрд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдХреЗрд╡рд▓ yarn x (рдпрд╛ yarn run x рдпрджрд┐ рдЖрдк рдмрдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ) рд╕реНрдкрд╖реНрдЯ) рдпрджрд┐ x рдЖрдкрдХреА ./node_modules/.bin рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ npx рд╕рдордХрдХреНрд╖рддрд╛ рдХреА рдХреЛрдИ рд╕рдЦреНрдд рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдордЬрдмреВрдд рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдХреНрдпрд╛ рдЖрдк рд╕рдордЭрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ? рдЙрджрд╛. рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдХрд┐рд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░реЗрдЧрд╛?

рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЛ рдкрддрд╛ рд╣реИ рдХрд┐ yarn exec bundle exec ? рдореИрдВ рдЗрд╕реЗ рд╕реАрдПрд▓рдЖрдИ рдкрд░ рджреЗрдЦрддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдбреЙрдХреНрд╕ рдореЗрдВ рдирд╣реАрдВред рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ yarn exec рд╕рд╛рде рдПрдХ рддреНрд╡рд░рд┐рдд рдирд╛рдЯрдХ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдпрд╣ рд╕реНрдерд╛рдкрд┐рдд рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдЪрд▓рд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ @sandys рдХреЛ рд╣рд▓ рдХрд░ рд╕рдХреЗред

FWIW, npm-run рдПрдХ рдкреБрд░рд╛рдиреА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рдХреЛ рд╕реНрдерд╛рдиреАрдп node_modules рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рдФрд░ рдпрд╣ npm рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░рддреА рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕рдХреЗ рдкрд╛рд╕ рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИ, рдЬрдмрдХрд┐ npx рдиреЙрдмреНрд╕ рд╕реЗ рднрд░рд╛ рд╣реИред

@BYK рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП ypx greenkeeper-lockfile@1 рдпрд╛ ypx danger@2 CI рдкрд░ рдЙрдиреНрд╣реЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╣реА рдбреАрдк рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝реЗ рдмрд┐рдирд╛

@SimenB рд╕реАрдЖрдИ рдЖрдорддреМрд░ рдкрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рд╣реИ рдирд╛?

@MarkBennett рдЪреВрдВрдХрд┐ yarn exec package.json рд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд╣реАрдВ рдЪрд▓рд╛рддрд╛ рд╣реИ, рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдЬрдЧрд╣ рд╣реИред

@BYK рдореИрдВ рдУрдкреА рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдЕрдиреБрд░реЛрдз рдкрд░ рдЖрдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдореЗрд░реА рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рдкрд░ рдПрдХ рдкреИрдХреЗрдЬ рдерд╛, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкреИрдХреЗрдЬ рдореЗрдВ рдирд╣реАрдВред рдЗрд╕рд▓рд┐рдП рдореЗрд░рд╛ рдРрдк рдореЗрд░реЗ рд▓рд┐рдП рдЪрд▓реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдРрдк рдХреЛ рдХреНрд▓реАрди рдЗрдВрд╕реНрдЯрд╛рд▓ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред рдпрд╣ рд░реВрдмреА рдмрдВрдбрд▓рд░ рдХреЗ bundle exec рдХреА рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдкрд╕рдВрдж рд╣реИ - рдпрд╣ рддрдм рддрдХ рдирд╣реАрдВ рдЪрд▓реЗрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рд╕рднреА рдбреАрдкреА рдореИрдирд┐рдлреЗрд╕реНрдЯ рдореЗрдВ рди рд╣реЛрдВред

yarn x рдмрд╛рд░реЗ рдореЗрдВ рдореЗрд░реА рдореБрдЦреНрдп рд╢рд┐рдХрд╛рдпрдд рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ 3 (рддреАрди) рд╡рд┐рднрд┐рдиреНрди рд╕реНрдерд╛рдиреЛрдВ рд╕реЗ рд▓рдХреНрд╖реНрдп рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реИ: рдпрд╛рд░реНрди рдЖрдВрддрд░рд┐рдХ рдЖрджреЗрд╢, рдПрдирдкреАрдПрдо рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдбрд┐рдмреНрдмреЗред

рдорд╛рди рд▓реЗрдВ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ check рдирд╛рдордХ рдмрд╛рдЗрдирд░реА рд╡рд╛рд▓рд╛ рдПрдХ рдЯреВрд▓ рд╣реИ: 1) yarn check рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЕрдкрдирд╛ рдЖрдВрддрд░рд┐рдХ check рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдЧрд╛ 2) yarn run check рдЙрдкрднреЛрдХреНрддрд╛ рдХреЗ рдПрдирдкреАрдПрдо рдЪрд▓рд╛рдПрдЧрд╛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдирд╛рдо рдпрд╛ рд╢рд╛рдпрдж рдореЗрд░реЗ рдЯреВрд▓ рдХреЗ рд╕рд╛рде рд╕реНрдХреНрд░рд┐рдкреНрдЯред

npx рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХрд╛ рдПрдХ рдордЬрдмреВрдд рдЕрд▓рдЧрд╛рд╡ рджреЗрддрд╛ рд╣реИ: yarn x рд╣рдореЗрд╢рд╛ рдПрдХ рдЖрдВрддрд░рд┐рдХ рдХрдорд╛рдВрдб рд╣реЛрддрд╛ рд╣реИ, yarn run x рд╣рдореЗрд╢рд╛ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ npx x рд╣рдореЗрд╢рд╛ рдПрдХ рдмрд╛рдЗрдирд░реА рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдФрд░ рдЖрд╢рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рдХреА рддрд░рд╣ рдХреБрдЫ рд╕рд╛рд░

#!/usr/bin/env bash

package_name=$1
temp_dir="/tmp/ypx/$package_name/$(date +%s%N)"
mkdir -p $temp_dir
(cd $temp_dir; yarn add $package_name) && (PATH="$temp_dir/node_modules/.bin":$PATH; "$@")
rm -rf $temp_dir

@BYK рдПрдХ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рдПрдХ рдкреИрдХреЗрдЬ рдХрд╛ _binary_ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдЕрднреА рддрдХ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИ рдФрд░ рдореИрдВ рдЗрд╕реЗ рдПрдХ рдмрд╛рд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЗрд╕реЗ рдЕрдкрдиреЗ рдЖрдк рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реЗрд╢рд╛рди рдХрд┐рдП рдмрд┐рдирд╛ рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред npx рдлрд╝рдВрдХреНрд╢рди yarn x рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдпрд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

  1. рд╡рд░реНрддрдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ ./node_modules/.bin/ рдореЗрдВ рдПрдХ рд╕реНрдерд╛рдиреАрдп рдкреИрдХреЗрдЬ рдХреА рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ
  2. рдпрджрд┐ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ рдпрд╛ ./node_modules/ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рддреЛ рдкреИрдХреЗрдЬ рдХреЛ рдЙрд╕рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдХрдорд╛рдВрдб рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВ

рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдкрд╛рд░рджрд░реНрд╢реА рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдПрдХ рдХрд╛рд▓реНрдкрдирд┐рдХ ypx рдПрдХ рддреАрд╕рд░рд╛ рдмрд┐рдВрджреБ рднреА рджреЗ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд╣реИ:

  1. рдпрджрд┐ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ рдФрд░ рдпрд╣ рдпрд╛рд░реНрди рдХреИрд╢ рдореЗрдВ рдореМрдЬреВрдж рд╣реИ рдФрд░ рдпрд╣ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рднреА рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдХреИрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдорд╛рдВрдб рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВ

@ рдмреАрд╡рд╛рдИрдХреЗ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП babel-cli рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ: yarn add babel-cli
рдлрд┐рд░ yarn babel-node --presets es2015 ./server.js рдЪрд▓рд╛рдПрдБ рдЬреЛ server.js рд╡рд░реНрддрдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдПрдХ рдлрд╝рд╛рдЗрд▓ рд╣реИ рдФрд░ рдПрдХ рд╕рд╛рдзрд╛рд░рдг express рдПрдкреАрдЖрдИ рд╕рд░реНрд╡рд░ рд╣реИред
рдпрд╣ рдмрд╕ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред ( Error: Cannot find module )
рд▓реЗрдХрд┐рди рдпрд╣ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде npx рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ npx babel-node --presets es2015 ./server.js

@BYK рдЬрд╣рд╛рдБ рддрдХ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ npx рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рдкрд░ node_module/.bin/ рдкрд░ рдЖрдкрдХреЗ рдЖрджреЗрд╢ рдХреА рддрд▓рд╛рд╢ рдХрд░реЗрдЧрд╛ рдФрд░ рдпрджрд┐ рдЙрд╕реЗ рдЙрдЪрд┐рдд рдЖрджреЗрд╢ рдирд╣реАрдВ рдорд┐рд▓рд╛ рддреЛ рдЙрд╕реЗ рд╡реЗрдм рд╕реЗ рдкреИрдХреЗрдЬ рдорд┐рд▓реЗрдЧрд╛ рдпрджрд┐ рдХреЛрдИ рд╣реИ рдФрд░ рдЖрдк рд╣рдореЗрд╢рд╛ рдЕрджреНрдпрддрд┐рдд рд░рд╣ рд╕рдХрддреЗ рд╣реИрдВ .
рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рдпрд╛рд░реНрди рдХреЛ рд╡реЗрдм рд╕реЗ рдкреИрдХреЗрдЬ рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИред

рдХреНрдпрд╛ рд╣рдореЗрдВ yarnx ?

@ light24bulbs рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХреНрдпреЛрдВ?

рд╕рдЪ рдХрд╣реВрдВ рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ npx рдПрдХ рдЕрдЪреНрдЫрд╛ рдЯреВрд▓ рд╣реИ, рднрд▓реЗ рд╣реА рдереЛрдбрд╝рд╛ рдмрд╣реБрдд "npm inc."-рдХреЗрдВрджреНрд░рд┐рдд (рдПрдирдкреАрдПрдо рдХреЗ рдХрдИ рдЯреВрд▓, рдирд┐рд╖реНрдкрдХреНрд╖ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП)ред рдПрдХ yarnx рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ (рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдпрд╛рд░реНрди-рдХреЗрдВрджреНрд░рд┐рдд рд╣реЛрдЧрд╛), рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реЛрдЧрд╛ред

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

@arcanis npx рд╕реНрд╡рдпрдВ npm рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ npm рдХреЗ рд╕рд╛рде рдмрдВрдбрд▓ рд╣реИ - libnpx рдирд╣реАрдВ рд╣реИ, рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, pnpm рд╕реЗ pnpx рд╣реБрдб рдХреЗ рддрд╣рдд рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдореИрдВрдиреЗ рдЬрд╝реЛрд▓реНрдЯрди рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╕рдВрднрд╡ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкреИрдЪ рдЬреЛрдбрд╝реЗред рдореИрдВ рдСрдЯреЛ-рдбрд┐рдЯреЗрдХреНрд╢рди рд╕рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдЬреЛрдбрд╝реВрдВрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреБрдЫ рдПрдХреАрдХрд░рдг рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЪреАрдЬреЛрдВ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдФрд░ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдХрдард┐рди рдмрдирд╛рддрд╛ рд╣реИ :)

рдмрд╕ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЧреБрдЧрд▓ рдХрд┐рдпрд╛ рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рднреА рдЕрдкрдбреЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрдЫрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЙрдЪрд┐рдд рдЬрдЧрд╣ рд╣реИред рдХреНрдпрд╛ рдХреЛрдИ рдореМрдЬреВрджрд╛ рдЙрдкрдХрд░рдг/рд╕рдорд╛рдзрд╛рди рд╣реИ, рдпрд╛ рдпрд╛рд░реНрди рдореЗрдВ рдХреБрдЫ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИ?
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдирдкреАрдПрдХреНрд╕ рдХреЗ рд╕рд╛рде рдореЗрд░реЗ рд╡рд░реНрддрдорд╛рди рдореБрджреНрджреЗ рд╣реИрдВ:

  1. рдпрд╣ рд╣рд░ рдмрд╛рд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде рдЕрдиреБрдкрд╕реНрдерд┐рдд рдкреИрдХреЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддрд╛ рд╣реИ,
  2. рдпрд╣ рдпрд╛рд░реНрди рдЙрдиреНрдореБрдЦ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ package-lock.json рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╣рд╛рдереЛрдВ рд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
    (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдореИрдВрдиреЗ рдЕрднреА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рд╣реИ npx gatsby new blog https://github.com/gatsbyjs/gatsby-starter-blog )

рдпрд╣ рджреЛрдиреЛрдВ рдореБрджреНрджреЗ рдпрд╛рд░реНрди рдХреЗ рд▓рд┐рдП рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХрджрдо рд╕рд╣реА рдореИрдЪ рдХреА рддрд░рд╣ рджрд┐рдЦрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ

рдпреВрдкреАрдбреА: рддреЛ рдореВрд▓ рд░реВрдк рд╕реЗ ypx рдореБрдЦреНрдп рдХрд╛рд░рдг рдмрд╛рдЗрдирд░реА рдирд┐рд╖реНрдкрд╛рджрди рдирд╣реАрдВ рд╣реИ (рдЬреЛ рдпрд╛рд░реНрди рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдареАрдХ рд╣реИ), рд▓реЗрдХрд┐рди рдЙрди рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рд╕реНрд╡рдд: рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рдореИрдВ рд╕рд╣рдордд рд╣реВрдВред рдореБрдЭреЗ рдпрд╣ рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдирдкреАрдПрдо рдЕрдЬреАрдм рдПрдкреАрдЖрдИ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реИ
рдПрдХ рд╕рд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ yarn exec COMMAND рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖрдПрдЧрд╛
yarnx ред рд░реВрдмреА рдмрдВрдбрд▓рд░ рдХреЗ рдкрд╛рд╕ рдПрдХ рд╕рдорд╛рди рдХрдорд╛рдВрдб рдерд╛
https://bundler.io/man/bundle-exec.1.html

рд╕реЛрдо, 17 рджрд┐рд╕рдВрдмрд░, 2018 рджреЛрдкрд╣рд░ 2:29 рдмрдЬреЗ рдкрд╛рд╡реЗрд▓ рдкреНрд░реЛрдХреБрдбрд┐рди рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

рдмрд╕ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЧреБрдЧрд▓ рдХрд┐рдпрд╛ рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреВрдЫрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдЬрдЧрд╣ рд╣реИ
рдХреЛрдИ рдЕрдкрдбреЗрдЯреНрд╕ред рдХреНрдпрд╛ рдХреЛрдИ рдореМрдЬреВрджрд╛ рдЙрдкрдХрд░рдг/рд╕рдорд╛рдзрд╛рди рд╣реИ, рдпрд╛ рдХреБрдЫ рдЬреЛрдбрд╝рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИ
рдпрд╛рд░реНрди рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛?
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдирдкреАрдПрдХреНрд╕ рдХреЗ рд╕рд╛рде рдореЗрд░реЗ рд╡рд░реНрддрдорд╛рди рдореБрджреНрджреЗ рд╣реИрдВ:

  1. рдпрд╣ рд╣рд░ рдмрд╛рд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде рдЕрдиреБрдкрд╕реНрдерд┐рдд рдкреИрдХреЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддрд╛ рд╣реИ,
  2. рдпрд╣ рдпрд╛рд░реНрди рдЙрдиреНрдореБрдЦ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ package-lock.json рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ
    рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдБ рдФрд░ рдЗрд╕реЗ рд╣рд╛рдереЛрдВ рд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
    (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдореИрдВ рд╕рд┐рд░реНрдл рдПрдирдкреАрдПрдХреНрд╕ рдЧреИрдЯреНрд╕рдмреА рдирдпрд╛ рдмреНрд▓реЙрдЧ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ
    https://github.com/gatsbyjs/gatsby-starter-blog)

рдпреЗ рджреЛрдиреЛрдВ рдореБрджреНрджреЗ @phra . рдЬреИрд╕реЗ рдзрд╛рдЧреЗ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдПрдХрджрдо рд╕рд╣реА рдореИрдЪ рдХреА рддрд░рд╣ рджрд┐рдЦрддреЗ рд╣реИрдВ
https://github.com/phra рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдкрдиреЗ рддреАрд╕рд░реЗ рдмрд┐рдВрджреБ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд╣реИрдВред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/yarnpkg/yarn/issues/3937#issuecomment-447968558 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAjhEng6juvpaK4xLx1KrVHccJAytnAfks5u5_CcgaJpZM4OY9aL
.

--
-рдлреЙрд░реЗрд╕реНрдЯ

yarn exec рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ (рдЖрдкрдХреЗ рд╕реБрдЭрд╛рд╡ рд╕реЗ рднрд┐рдиреНрди рдЕрд░реНрде рдХреЗ рд╕рд╛рде)

рдХреНрдпрд╛ рдирдпрд╛ yarn dlx рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ?

cc @sandys @arcanis

https://yarnpkg.github.io/berry/cli/dlx

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

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдпреЛрдЧреНрдп рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╣реИред yarn dlx eslint --help рдореЗрд░реА рдорд╢реАрди рдкрд░ 2.7 рд╕реЗрдХрдВрдб рд▓реЗрддрд╛ рд╣реИ рдЬрдмрдХрд┐ npx eslint --help 0.2s рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдХреЛрдИ рдмрд╣реБрдд рд╕рд╛рд░реА рдмрд┐рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЬрд▓реНрджреА рд╕реЗ рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рдореВрд▓реНрдпреЛрдВ рдореЗрдВ рдЬреБрдбрд╝ рдЬрд╛рдПрдЧрд╛ред

рд╕рд╛рде рд╣реА, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдЬрдм рддрдХ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рди рд╣реЛ, рддрдм рддрдХ stdout/stderr рдХреЛ рдпрд╛рд░реНрди рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

@silverwind рд╕рдордп рдХрд╛ рдЕрдВрддрд░ рдХрд╛рдлреА рд╕реНрдкрд╖реНрдЯ рд▓рдЧрддрд╛ рд╣реИред рдХреНрдпрд╛ рдпрд╣ рд▓рдЧрд╛рддрд╛рд░ рдХрдИ рд░рдиреЛрдВ рдореЗрдВ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИ? рдпрджрд┐ рд╣рд╛рдБ, рддреЛ рдореИрдВ рдЬрд╛рдБрдЪ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдорд╛рдорд▓рд╛ рджрд░реНрдЬ рдХрд░реВрдБрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рдХрд┐ рдпрд╣ рдзреАрдорд╛ рд╣реЛред

рдпрд╛рд░реНрди рд╕реЗ stdout/stderr рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, I _think_ рдЖрдк рд╕рднреА рдЧреИрд░-рдорд╣рддреНрд╡рдкреВрд░реНрдг рдпрд╛рд░реНрди рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рджрдмрд╛рдиреЗ рдХреЗ рд▓рд┐рдП yarn --silend dlx eslint рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред @arcanis рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рдЖрдЦрд┐рд░реА рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

@ light24bulbs рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХреНрдпреЛрдВ?

рдЙрди рд╕рднреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рд╡реЗрдм рдкрд░ рдХреБрдЫ рдкреИрдХреЗрдЬ рдвреВрдВрдврддреЗ рд╣реИрдВ, рджреЗрдЦреЗрдВ рдХрд┐ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдирд┐рд░реНрджреЗрд╢реЛрдВ рдореЗрдВ npx something something , рд▓реЗрдХрд┐рди рд╡реЗ рдпрд╛рд░реНрди рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдмрдиреЗ рд░рд╣рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдирдпрд╛ yarn dlx рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ?

рд╣реИ yarn dlx рдПрдХ рд╕рдЯреАрдХ s/npx/yarn dlx/ рдбреНрд░реЙрдк-рдЗрди рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди npx ? рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдпрд╣ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдпреЗ рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ
https://www.npmjs.com/package/ynpx

рдпрд╛рд░реНрди рдмрдирд╛рдиреЗ рдФрд░ рдПрдирдкреАрдПрдХреНрд╕ рдФрд░ рдПрдирдкреАрдПрдо init

рдбреЗрдореЛ

https://www.npmjs.com/package/create-react-app

$ yarn create react-app

$ npx create-react-app

$ npm init react-app

image

https://www.npmtrends.com/npm-vs-npx-vs-yarn

image

@ light24bulbs - рдЧреВрдВрдЬ @rulatir рд▓рд┐рдП, рдореИрдВ рдпрд╣рд╛рдБ рдорд┐рд▓ рдЧрдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдХрд╣рд╛рдирд┐рдпреЛрдВ рдХрд╛ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рддреНрд╡рд░рд┐рдд рдЖрд░рдВрдн рдЧрд╛рдЗрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ npx рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ , рдФрд░ рдореИрдВ рдХреИрд╕реЗ рд╕рд╛рде рдмрд░рд╛рдмрд░ рдЬрд╛рджреВ incant рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЖрд╕рд╛рди рдиреБрд╕реНрдЦрд╛ рдирд╣реАрдВ рдерд╛ yarn ред рдпрджрд┐ рдпрд╛рд░реНрди рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рдХрд╛ рдПрдХ рд╕рдорд╛рди рд╕реЗрдЯ рд╣реИ, рддреЛ рд╣рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдпрд╛рд░реНрди рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдкреЛрд╕реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рддрд╛рдХрд┐ рдкреЗрдЬ (рдЗрд╕ рдереНрд░реЗрдб рдХреЗ рдмрдЬрд╛рдп) "npx рдХреЗ рдпрд╛рд░реНрди рд╕рдВрд╕реНрдХрд░рдг" рдХреЗ рд▓рд┐рдП Google рдЦреЛрдЬ рдкрд░рд┐рдгрд╛рдореЛрдВ рдореЗрдВ рд╕рдмрд╕реЗ рдКрдкрд░ рд╣реЛред

рдореИрдВ рднреА @codekiln рдЬреИрд╕реА рд╣реА рдирд╛рд╡ рдкрд░ рд╣реВрдВред рдЬрдм рднреА рдореИрдВ рдХреБрдЫ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ npx ... рдЪрд▓рд╛рдПрдВ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ yarn рд╕рдордХрдХреНрд╖ рдХреНрдпрд╛ рд╣реИред рдПрдХ рдЙрджрд╛рд╣рд░рдг npx tslint-to-eslint-config рд╣реИ ред

@ light24bulbs - рдЧреВрдВрдЬ @rulatir рд▓рд┐рдП, рдореИрдВ рдпрд╣рд╛рдБ рдорд┐рд▓ рдЧрдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдХрд╣рд╛рдирд┐рдпреЛрдВ рдХрд╛ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рддреНрд╡рд░рд┐рдд рдЖрд░рдВрдн рдЧрд╛рдЗрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ npx рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ , рдФрд░ рдореИрдВ рдХреИрд╕реЗ рд╕рд╛рде рдмрд░рд╛рдмрд░ рдЬрд╛рджреВ incant рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЖрд╕рд╛рди рдиреБрд╕реНрдЦрд╛ рдирд╣реАрдВ рдерд╛ yarn ред рдпрджрд┐ рдпрд╛рд░реНрди рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рдХрд╛ рдПрдХ рд╕рдорд╛рди рд╕реЗрдЯ рд╣реИ, рддреЛ рд╣рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдпрд╛рд░реНрди рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдкреЛрд╕реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рддрд╛рдХрд┐ рдкреЗрдЬ (рдЗрд╕ рдереНрд░реЗрдб рдХреЗ рдмрдЬрд╛рдп) "npx рдХреЗ рдпрд╛рд░реНрди рд╕рдВрд╕реНрдХрд░рдг" рдХреЗ рд▓рд┐рдП Google рдЦреЛрдЬ рдкрд░рд┐рдгрд╛рдореЛрдВ рдореЗрдВ рд╕рдмрд╕реЗ рдКрдкрд░ рд╣реЛред

рдпрд╣рд╛рдБ рднреА, рдХреИрдкреЗрд╕рд┐рдЯрд░рдЬ рдЗрдВрд╕реНрдЯрд╛рд▓реЗрд╢рди рдЧрд╛рдЗрдб https://capacitorjs.com/docs/getting-started рдХреЗ рд╕рд╛рде , рднрд╛рд╡рдирд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдпрд╛рд░реНрди рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдФрд░ npm рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╛рдЬреА рдХрд░рддрд╛ рд╣реИ

https://yarnpkg.com/hi/docs/cli/exec

404 рдкреГрд╖реНрда рдирд╣реАрдВ рдорд┐рд▓рд╛

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ @delanym рдХрд╛ рдорддрд▓рдм рдЗрд╕ рдкреЗрдЬ рд╕реЗ рдерд╛ (рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ npx рдирдХрд▓ рдХрд░рддрд╛ рд╣реИ): https://yarnpkg.com/cli/exec

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

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

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

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

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

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

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