Cli: [BUG] npm рд▓рд┐рдВрдХ рдЕрджреНрдпрддрди package.json рдХреЛ рд╕реНрдерд╛рдиреАрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП

рдХреЛ рдирд┐рд░реНрдорд┐рдд 24 рдЕрдХреНрддреВре░ 2020  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: npm/cli

рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░:

npm link foo-bar рдЕрдкрдбреЗрдЯ рдкреИрдХреЗрдЬ.рдЬреЛрди рдХреЛ рдХреЗрд╡рд▓ рд╕рд┐рдорд┐рд▓рд┐рдВрдХ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдлреВ-рдмрд╛рд░ рдореЙрдбреНрдпреВрд▓ рдХреА рд╕реНрдерд╛рдиреАрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдлреВ-рдмрд╛рд░ git (git + ssh) рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдПрдХ рдирд┐рдЬреА рдкреИрдХреЗрдЬ рд╣реИ

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

npm link foo-bar node_modules/ рдкреИрдХреЗрдЬ #json рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдмрд┐рдирд╛

рдкреНрд░рдЬрдирди рдХрд░рдиреЗ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛:

  1. $ cd ./foo-bar && npm link
  2. $ cd ../other-package && (cat ./package.json | grep "foo-bar")
    
    "foo-bar": "git+ssh://[email protected]:..."
    
  3. $ npm link foo-bar
  4. $ cat ./package.json | grep "foo-bar"`
    
    "foo-bar": "file:../foo-bar",
    

рдкреИрдХреЗрдЬ foo-рдмрд╛рд░ рдЕрдм рд╕реНрдерд╛рдиреАрдп рд╕рд╛рдВрдХреЗрддрд┐рдХ рд░реВрдк рд╕реЗ рд▓рд┐рдВрдХ рд╣реИ foo-bar рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рдмрдЬрд╛рдп рдореЗрдВ рд▓рд┐рдВрдХ npm root -g

рд╡рд╛рддрд╛рд╡рд░рдг:

  • OS: Ubuntu 20.04 (WSL)
  • рдиреЛрдб: 12.9.0
  • npm: 7.0.5 (рд╣рд╛рд▓рд╛рдВрдХрд┐ 7.0.0 - 7.0.5 рдХреЗ рд╕рд╛рде рд╣реЛ рд░рд╣рд╛ рд╣реИ)

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

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

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

рдореИрдВ рд╡рд┐рдВрдбреЛрдЬ 10 1909 рдкрд░ NodeJS 15.0.1 рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдЕрдиреБрднрд╡ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реВрдВред
рдФрд░ рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдРрд╕рд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдореБрдЭреЗ рдЕрд╡рд╛рдВрдЫрд┐рдд рд▓рдЧрддрд╛ рд╣реИред

рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдШрдЯрд╛ рд╣реБрдЖ рд░рд┐рдкреНрд░реЛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

$ git clone [email protected]:wesleytodd/english-days.git && cd english-days && npm link && cd .. # this is just a dep free test package I use
$ mkdir link-to && cd link-to && npm init -y && npm i english-days
$ cat package.json | grep english-days # "english-days": "^1.0.0"
$ npm link english-days
$ cat package.json | grep english-days # "english-days": "file:../english-days"

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдКрдкрд░ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА link рдХреЗ рд╕рд╛рде рдЖрджреЗрд╢ --no-save рдЬреЛ рд╡реНрдпрд╡рд╣рд╛рд░ рдирд╣реАрдВ рдмрджрд▓рд╛ рдФрд░ рдПрдХ рдЕрдиреНрдп рдмрдЧ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рд╕рдорд╛рдзрд╛рди:

  1. рдЖрдк рдЗрд╕реЗ рдХреЗрд╡рд▓ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕рд┐рдорд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ( ln -s ../foo-bar ./node_modules/foo-bar )
  2. рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
$ cd ./foo-bar && npm link
$ cd ../other-package
$ npm i --no-save "$(npm root -g)/foo-bar"

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

рд╕рд╛рде рд╣реА рдЙрдкрд░реЛрдХреНрдд рд▓рд┐рдВрдХ рдХрдорд╛рдВрдб рдХреЛ --no-save рдХреЗ рд╕рд╛рде рдЖрдЬрд╝рдорд╛рдпрд╛ рдЬреЛ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВ рдХрд░рддрд╛ рдерд╛ рдФрд░ рджреВрд╕рд░рд╛ рдмрдЧ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

--no-save рд╕рд╛рде рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рднреА рдореЗрд░реА рдкрд╣рд▓реА рд╡реГрддреНрддрд┐ рдереА рдЬрдм рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ npm link рд╕рдВрд╢реЛрдзрд┐рдд package.jsonред

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

рдореИрдВ рдПрдХ рдЬрдЯрд┐рд▓ рд╡рд┐рдХрд╛рд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд▓рд┐рдП npm link рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ рдЕрдм рдпрд╣ рдЦрдбрд╝рд╛ рд╣реИ рдХрд┐ рдмрд╕ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред Package.json рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдореЗрд░реА рдмрд╣реБрдд рдмрдбрд╝реА рдХреНрд╖рдорддрд╛ рд╣реИ (рдпрд╛ рдХреЛрдИ рднреА рд╕рдорд╛рди рд╕реЗрдЯрдЕрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛) рдЧрд▓рддреА рд╕реЗ Package.json рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рд╢реБрд░реБрдЖрдд рдХрд░ рд░рд╣рд╛ рд╣реИ, рдФрд░ рд╕рдм рдХреБрдЫ рддреЛрдбрд╝ рд░рд╣рд╛ рд╣реИред

рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдПрдирдкреАрдПрдо рдХрд╛ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдЗрд╕ рдмрд╛рдд рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗ / рд╣рдореЗрдВ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕рд┐рд░-рджрд░реНрдж рджреЗ, рдореБрдЭреЗ рд╡рд╛рдкрд╕ npm @ 6 рдкрд░ рд╡рд╛рдкрд╕ рд▓реМрдЯрдирд╛ рдкрдбрд╝рд╛ рдХреНрдпреЛрдВрдХрд┐ рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдПрдХ рджрд░реНрдж рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЬрдм рдЖрдкрдХреЛ рдЗрд╕реЗ рдЕрдХреНрд╕рд░ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ

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

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

admosity picture admosity  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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

dr-js picture dr-js  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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

darcyclarke picture darcyclarke  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ