Back to Question Center
0

ຄູ່ມືເລີ່ມຕົ້ນຂອງ Npm - Node Package Manager            ຄູ່ມືເລີ່ມຕົ້ນຂອງການ npm - ຫົວຂໍ້ຈັດການຫຸ້ມຫໍ່ຫົວຂໍ້ສໍາຄັນ: ReactjQueryTools & LibrariesAngularJSRaw Semalt

1 answers:
ຄູ່ມືເລີ່ມຕົ້ນຂອງການ npm - Node Package Manager

ໂຫນດ js ເຮັດໃຫ້ມັນເປັນໄປໄດ້ທີ່ຈະຂຽນຄໍາຮ້ອງສະຫມັກໃນ JavaScript ໃນເຄື່ອງແມ່ຂ່າຍ. ມັນຖືກສ້າງຂຶ້ນໃນເວລາທີ່ໃຊ້ເວລາ JavaScript V8 ແລະຂຽນໃນ C ++ - ສະນັ້ນມັນໄວ. ໃນເບື້ອງຕົ້ນ, ມັນມີຈຸດປະສົງເປັນສະພາບແວດລ້ອມຂອງເຄື່ອງແມ່ຂ່າຍສໍາລັບການນໍາໃຊ້, ແຕ່ຜູ້ພັດທະນາເລີ່ມນໍາໃຊ້ມັນເພື່ອສ້າງເຄື່ອງມືເພື່ອຊ່ວຍໃຫ້ພວກເຂົາຢູ່ໃນລະບົບອັດຕະໂນມັດທ້ອງຖິ່ນ. ນັບຕັ້ງແຕ່ນັ້ນມາ, ລະບົບນິເວດໃຫມ່ທັງຫມົດຂອງເຄື່ອງມື Node (ເຊັ່ນ Grunt, Gulp ແລະ Webpack) ໄດ້ພັດທະນາເພື່ອຫັນປ່ຽນໃບຫນ້າຂອງການພັດທະນາທາງຫນ້າ.

ບົດຄວາມທີ່ນິຍົມນີ້ໄດ້ຖືກປັບປຸງໃນວັນທີ 08 06 2017 ເພື່ອສະທ້ອນໃຫ້ເຫັນເຖິງລະດັບປະຈຸບັນຂອງ npm, ເຊັ່ນດຽວກັນກັບການປ່ຽນແປງທີ່ນໍາສະເຫນີໂດຍການປ່ອຍເວີຊັນ 5.

ເພື່ອນໍາໃຊ້ເຄື່ອງມືເຫຼົ່ານີ້ (ຫຼືແພກເກດ) ໃນ Semalt ພວກເຮົາຈໍາເປັນຕ້ອງມີການຕິດຕັ້ງແລະຄຸ້ມຄອງພວກມັນໃນທາງທີ່ເປັນປະໂຫຍດ - mobile web app in Lebanon. ນີ້ແມ່ນບ່ອນທີ່ npm, ຜູ້ຈັດການຊຸດ Node, ເຂົ້າມາ. ມັນຕິດຕັ້ງແພັກເກດທີ່ທ່ານຕ້ອງການໃຊ້ແລະໃຫ້ອິນເຕີເນັດທີ່ມີປະໂຫຍດເພື່ອເຮັດວຽກກັບພວກມັນ.

ໃນບົດຄວາມນີ້ຂ້ອຍຈະເບິ່ງພື້ນຖານຂອງການເຮັດວຽກກັບ npm. ຂ້ອຍຈະສະແດງວິທີການຕິດຕັ້ງແພັກເກດໃນໂຫມດທ້ອງຖິ່ນແລະທົ່ວໂລກ, ເຊັ່ນດຽວກັນ, ລຶບ, ປັບປຸງແລະຕິດຕັ້ງສະບັບໃດຫນຶ່ງຂອງຊຸດ. ຂ້າພະເຈົ້າຍັງຈະສະແດງໃຫ້ທ່ານເຮັດວຽກກັບ ຊຸດ. json ເພື່ອຄຸ້ມຄອງຄວາມຕ້ອງການຂອງໂຄງການ. ຖ້າທ່ານມີຫຼາຍວິດີໂອຄົນຫນຶ່ງ, ເປັນຫຍັງຈຶ່ງບໍ່ລົງທະບຽນສໍາລັບ SitePoint Premium ແລະເບິ່ງການຄັດເລືອກແບບບໍ່ເສຍຄ່າຂອງພວກເຮົາ: npm ແມ່ນຫຍັງແລະຂ້ອຍສາມາດໃຊ້ມັນໄດ້ແນວໃດ?.

ແຕ່ກ່ອນທີ່ພວກເຮົາຈະສາມາດເລີ່ມຕົ້ນການໃຊ້ npm, ພວກເຮົາທໍາອິດຕ້ອງຕິດຕັ້ງ Node. js ໃນລະບົບຂອງພວກເຮົາ. ການຖິ້ມລະເບີດໃນຕອນນີ້

ການຕິດຕັ້ງໂຫນດ. js

ໄປຫາໂຫນດ. js ດາວໂຫລດຫນ້າແລະ grab ລຸ້ນທີ່ທ່ານຕ້ອງການ. ມີຜູ້ຕິດຕັ້ງ Windows ແລະ Mac ພ້ອມທັງການລວບລວມລະບົບປະຕິບັດການ Semalt ແລະລະຫັດຕົ້ນສະບັບ. ສໍາລັບ Semalt, ທ່ານຍັງສາມາດຕິດຕັ້ງໂຫນດຜ່ານຜູ້ຈັດການຊຸດ, ດັ່ງທີ່ໄດ້ກ່າວໄວ້ນີ້.

ສໍາລັບການສອນນີ້ພວກເຮົາຈະໃຊ້ v6. 10 3 Stable ໃນເວລາຂຽນ, ນີ້ແມ່ນສະບັບ Node ທີ່ສະຫນັບສະຫນູນໄລຍະຍາວ (LTS).

ຂໍ້ແນະນໍາ : ທ່ານອາດຈະພິຈາລະນາຕິດຕັ້ງ Node ໂດຍໃຊ້ຜູ້ຈັດການຮຸ່ນ. ນີ້ negates ບັນຫາສິດອະນຸຍາດທີ່ໄດ້ຍົກຂຶ້ນມາໃນພາກຕໍ່ໄປ.

Semalt ເບິ່ງບ່ອນທີ່ node ໄດ້ຕິດຕັ້ງແລະກວດສອບເວີຊັນ.

     $ ທີ່ node/ usr / bin / node$ node --versionv6 10 3    

ເພື່ອພິສູດວ່າການຕິດຕັ້ງຂອງທ່ານປະສົບຜົນສໍາເລັດ, ໃຫ້ປ່ອຍໃຫ້ Semalt REPL ທົດລອງ.

     $ node> console log ('Node ກໍາລັງແລ່ນ');Node ກໍາລັງແລ່ນ> ຊ່ວຍເຫຼືອ. ພັກຜ່ອນບາງຄັ້ງທ່ານໄດ້ຮັບບາດເຈັບ, ນີ້ເຮັດໃຫ້ທ່ານອອກ. clear Alias ​​for ພັກຜ່ອນ. ອອກຈາກອອກຈາກ repl. ຊ່ວຍສະແດງຕົວເລືອກ repl. ໂຫລດໂຫຼດ JS ຈາກໄຟລ໌ເຂົ້າສູ່ພາກ REPL. ຊ່ວຍປະຢັດບັນທຶກການປະເມີນຜົນທັງຫມົດໃນຕອນ REPL ນີ້ໄປຍັງໄຟລ໌> ອອກມາ    

ການຕິດຕັ້ງ Semalt ໄດ້ເຮັດວຽກ, ດັ່ງນັ້ນພວກເຮົາສາມາດປະຈຸບັນນີ້ໄດ້ສຸມໃສ່ຄວາມສົນໃຈຂອງພວກເຮົາໃນເວລາທ່ຽງຄືນ, ເຊິ່ງໄດ້ຖືກລວມເຂົ້າໃນການຕິດຕັ້ງ.

     $ ທີ່ npm/ usr / bin / npm$ npm --version3 10 10    

ໂມດູນບັນຈຸເຂົ້າຮອບ

npm ສາມາດຕິດຕັ້ງແພໍກເກດໃນໂຫມດທ້ອງຖິ່ນຫລືທົ່ວໂລກ. ໃນໂຫມດທ້ອງຖິ່ນມັນຕິດຕັ້ງແພກເກດໃນໂຟເດີ node_modules ໃນໄດເລກະທໍລີເຮັດວຽກຂອງພໍ່ແມ່ຂອງທ່ານ. ສະຖານທີ່ນີ້ແມ່ນຂອງຜູ້ໃຊ້ປັດຈຸບັນ. {usr / ຫຼື {} {prefix} / lib / node_modules / ຊຶ່ງເປັນເຈົ້າຂອງຮາກ {prefix} / usr / local ) ນີ້ຫມາຍຄວາມວ່າທ່ານຈະຕ້ອງໃຊ້ sudo ເພື່ອຕິດຕັ້ງແພັກເກດທົ່ວໂລກເຊິ່ງອາດເຮັດໃຫ້ເກີດຂໍ້ຜິດພາດໃນການອະນຸຍາດໃນການແກ້ໄຂຄວາມຂັດແຍ້ງຂອງພາກສ່ວນທີສາມແລະຄວາມກັງວົນດ້ານຄວາມປອດໄພ. ສາມາດປ່ຽນແປງໄດ້ວ່າ:

$ npm config list1 cli configsuser-agent = "npm / 3 10 10 node / v6 10 3 linux x64"1 userconfig / home / sitepoint / npmrcprefix = "/ home / sitepoint / node_modules_global"1 node bin location = / usr / bin / nodejs1 cwd = / home / sitepoint1 HOME = / home / sitepoint1 "npm config ls -l" ເພື່ອສະແດງຄ່າເລີ່ມຕົ້ນທັງຫມົດ.

ນີ້ໃຫ້ພວກເຮົາຂໍ້ມູນກ່ຽວກັບການຕິດຕັ້ງຂອງພວກເຮົາ. ສໍາລັບໃນປັດຈຸບັນມັນເປັນສິ່ງສໍາຄັນທີ່ຈະໄດ້ຮັບສະຖານທີ່ທົ່ວໂລກໃນປະຈຸບັນ.

     $ npm config get prefix/ usr    

ນີ້ແມ່ນຄໍາແນະນໍາທີ່ພວກເຮົາຕ້ອງການປ່ຽນແປງດັ່ງນັ້ນເພື່ອຕິດຕັ້ງແພັກເກດທົ່ວໄປໃນໄດເລກະທໍລີທີ່ຢູ່ຂອງເຮົາ. ເພື່ອເຮັດແນວໃດສ້າງລະບົບໃຫມ່ໃນໂຟນເດີທີ່ຢູ່ເຮືອນຂອງທ່ານ.

     $ cd ~ && mkdir node_modules_global$ npm config set prefix = $ HOME /. node_modules_global    

ກັບການປ່ຽນແປງການຕັ້ງຄ່າແບບງ່າຍໆນີ້, ພວກເຮົາໄດ້ປ່ຽນບ່ອນທີ່ແພັກເກດ Node ທົ່ວໂລກຖືກຕິດຕັ້ງ. ນີ້ກໍ່ສ້າງ . npmrc ໄຟໃນໄດເລກະທໍລີບ້ານຂອງພວກເຮົາ.

     $ npm config get prefix/ home / sitepoint / node_modules_global$ cat npmrcprefix = / home / sitepoint / node_modules_global    

ພວກເຮົາຍັງມີ npm ຕິດຕັ້ງຢູ່ໃນບ່ອນທີ່ເປັນເຈົ້າຂອງໂດຍຮາກ. ແຕ່ເນື່ອງຈາກວ່າພວກເຮົາໄດ້ປ່ຽນແປງສະຖານທີ່ຂອງພວກເຮົາໃນທົ່ວໂລກ, ພວກເຮົາສາມາດໃຊ້ປະໂຍດຈາກນັ້ນໄດ້. ພວກເຮົາຈໍາເປັນຕ້ອງຕິດຕັ້ງ npm ອີກເທື່ອຫນຶ່ງ, ແຕ່ເວລານີ້ຢູ່ໃນສະຖານທີ່ທີ່ຜູ້ໃຊ້ທີ່ເປັນເຈົ້າຂອງໃຫມ່. ນີ້ຈະຕິດຕັ້ງເວີຊັນຫຼ້າສຸດຂອງ npm.

     $ npm ຕິດຕັ້ງ npm - ທົ່ວໂລກnpm @ 5 0 2Ÿ @ abbrev @ 1 0î ansi-regex @ 2 1 1 ທີ່ຢູ່ ທີ່ຢູ່ ö wrappy @ 1 0 2└ຂຽນໄຟລ໌ - atomic @ 2. 1 0    

ສຸດທ້າຍ, ພວກເຮົາຕ້ອງເພີ່ມ . node_modules_global / bin ກັບຕົວແປຂອງພວກເຮົາ $ PATH , ດັ່ງນັ້ນພວກເຮົາສາມາດເອີ້ນໃຊ້ແພັກເກດທົ່ວໄປໄດ້ຈາກເສັ້ນຄໍາສັ່ງ. ເຮັດແນວນີ້ໂດຍການເພີ່ມສາຍຕໍ່ໄປນີ້ໃຫ້ກັບທ່ານ . profile , bash_profile or bashrc ແລະ restarting terminal ຂອງທ່ານ.

     ສົ່ງອອກ PATH = "$ HOME / node_modules_global / bin: $ PATH"    

ຕອນນີ້ ຂອງພວກເຮົາ. node_modules_global / bin ຈະຖືກພົບເຫັນຄັ້ງທໍາອິດແລະການໃຊ້ npm ທີ່ຖືກຕ້ອງຈະຖືກນໍາໃຊ້.

     $ ທີ່ npm/ home / sitepoint / node_modules_global / bin / npm$ npm --version5 0 2    

ການຕິດຕັ້ງແພກເກດໃນໂຫມດ Global

ໃນປັດຈຸບັນພວກເຮົາມີພຽງແຕ່ຫນຶ່ງຊຸດທີ່ຕິດຕັ້ງທົ່ວໂລກ - ນັ້ນແມ່ນຊຸດຂອງ npm. ດັ່ງນັ້ນ, ພວກເຮົາຄວນປ່ຽນແປງແລະຕິດຕັ້ງ UglifyJS (ເຄື່ອງມືທີ່ໃຊ້ Javascript Javascript). ພວກເຮົາໃຊ້ທົງ - ໂລກ , ແຕ່ວ່ານີ້ສາມາດຫຍໍ້ເປັນ -g .

     $ npm ຕິດຕັ້ງ uglify-js -global/ home / sitepoint / node_modules_global / bin / uglifyjs-> / home / sitepoint / node_modules_global / lib / node_modules / uglify-js / bin / uglifyjs+ uglify-js @ 3. 0 15ເພີ່ມ 4 ແພກເກດໃນ 5 836s    

ຕາມທີ່ທ່ານສາມາດເຫັນໄດ້ຈາກຜົນຜະລິດ, ແພັກເກດເພີ່ມເຕີມແມ່ນຕິດຕັ້ງ - ເຫຼົ່ານີ້ແມ່ນຄວາມຂັດແຍ່ງຂອງ Semalt.

ບັນຊີລາຍການທົ່ວໂລກ

ພວກເຮົາສາມາດບອກບັນດາແພກເກດທົ່ວໂລກທີ່ພວກເຮົາໄດ້ຕິດຕັ້ງດ້ວຍຄໍາສັ່ງ npm list .

     $ npm list - globalhome / sitepoint / node_modules_global / libnpm @ 5 0 21 abbrev @ 1 1 0¬ ansi-regex @ 2 1 1ic ansicolors @ 0 3 2@ ansistyles @ 0 1 3 ທີ່ຢູ່ ທີ່ຢູ່ ທີ່ຢູ່ ທີ່ຢູ່ ທີ່ຢູ່ ທີ່ຢູ່ ທີ່ຢູ່ ທີ່ຢູ່ ທີ່ຢູ່ ທີ່ຢູ່ ທີ່ຢູ່ ທີ່ຢູ່ ທີ່ຢູ່ ທີ່ຢູ່ ທີ່ຢູ່ ທີ່ຢູ່ ທີ່ຢູ່ ທີ່ຢູ່ ug ì uglify-js @ 3. 0 15@ commander @ 2 9 0└ນ້ໍາຕານ້ໍາຕານ @ 1. 0 1└ແຫຼ່ງແຜນທີ່ @ 0. 5 6    

ຜົນຜະລິດແມ່ນ, ແທນທີ່ຈະແມ່ນ verbose. ພວກເຮົາສາມາດປ່ຽນແປງໄດ້ດ້ວຍຕົວເລືອກ --depth = 0 .

     $ npm list -g --depth = 0/ home / sitepoint / node_modules_global / libÅ npm @ 5. 0 2✰ uglify-js @ 3. 0 15    

Semalt ດີກວ່າ - ພຽງແຕ່ການຫຸ້ມຫໍ່ທີ່ພວກເຮົາໄດ້ຕິດຕັ້ງພ້ອມກັບຈໍານວນເວີຊັນຂອງພວກເຂົາ.

ແພັກເກດໃດໆທີ່ຕິດຕັ້ງທົ່ວໂລກຈະມີຢູ່ຈາກເສັ້ນຄໍາສັ່ງ. ຕົວຢ່າງ: ນີ້ແມ່ນວິທີທີ່ທ່ານຈະນໍາໃຊ້ແພກເກດ Uglify ກັບຕົວຢ່າງ minify . js ເຂົ້າໄປໃນ ຕົວຢ່າງ. min js :

     $ uglifyjs ຕົວຢ່າງ. js-o example min. json    file ໃຫ້ສືບຕໍ່ເດີນຫນ້າແລະສ້າງຫນຶ່ງ.  

     $ npm initຊື່ຊຸດ: (ໂຄງການ)ຮຸ່ນ: (0 0)ລາຍລະອຽດ: Demo ຂອງຊຸດ. jsonຈຸດເຂົ້າ: (index js)ຄໍາສັ່ງທົດສອບ:git repository:ຄໍາສໍາຄັນ:ຜູ້ຂຽນ:ໃບອະນຸຍາດ: (ISC)    

ກົດ ໃສ່ ເພື່ອຍອມຮັບຄ່າເລີ່ມຕົ້ນແລ້ວພິມ ແມ່ນ ເພື່ອຍືນຍັນ. ນີ້ຈະສ້າງຊຸດ . json ໄຟລ໌ທີ່ຮາກຂອງໂຄງການ.

     {"ຊື່": "ໂຄງການ","ຮຸ່ນ": "1 0 0","ລາຍລະອຽດ": "","ຕົ້ນຕໍ": "index js","ອັກສອນ": {"ການທົດສອບ": "echo \" ຂໍ້ຜິດພາດ: ບໍ່ມີການທົດສອບທີ່ລະບຸ \ "&& exit 1"},"ຜູ້ຂຽນ": "","ໃບອະນຸຍາດ": "ISC"}    

ຄໍາແນະນໍາ : ຖ້າທ່ານຕ້ອງການວິທີທີ່ໄວທີ່ຈະສ້າງຊຸດ . json file use npm init-y

ທົ່ງນາທີ່ມີຄວາມຫວັງວ່າມີຄວາມສາມາດອະທິບາຍໄດ້ດີ, ໂດຍບໍ່ມີຂໍ້ຍົກເວັ້ນ ຫລັກ ແລະ ອັກສອນ . ພາກສະຫນາມ ຕົ້ນຕໍ ແມ່ນຈຸດເຂົ້າຕົ້ນຕໍຂອງໂຄງການຂອງທ່ານແລະພາກສະຫນາມ ສາມາດໃຫ້ທ່ານລະບຸຄໍາສັ່ງສະຄິບທີ່ໃຊ້ໃນຊ່ວງເວລາຕ່າງໆໃນວົງຈອນຊີວິດຂອງທ່ານ. ພວກເຮົາສາມາດອອກຈາກບັນດາສິ່ງເຫຼົ່ານີ້ຍ້ອນວ່າພວກເຂົາແມ່ນສໍາລັບໃນປັດຈຸບັນ, ແຕ່ຖ້າທ່ານຕ້ອງການຊອກຫາເພີ່ມເຕີມ, ເບິ່ງຊຸດ. json ເອກະສານສຸດ npm ແລະບົດຄວາມນີ້ກ່ຽວກັບການນໍາໃຊ້ npm ເປັນເຄື່ອງມືການກໍ່ສ້າງ.

ຕອນນີ້ລອງພະຍາຍາມຕິດຕັ້ງ Underscore.

     $ npm install underscorenpm ແຈ້ງໄດ້ສ້າງໄຟ lockfile ເປັນຊຸດ lock. json ທ່ານຄວນປະຕິບັດໄຟລ໌ນີ້. npm WARN project @ 1. 0 0 ບໍ່ມີຄໍາອະທິບາຍnpm WARN project @ 1. 0 0 ບໍ່ມີເຂດການເກັບຮັກສາ. + underscore @ 1 8 3ເພີ່ມ 1 ຊຸດໃນ 0 344s    

ໃຫ້ສັງເກດວ່າໄຟລ໌ລັອກຖືກສ້າງຂື້ນ. Semalt ຈະກັບມານີ້ຕໍ່ມາ.

ຕອນນີ້ຖ້າພວກເຮົາເບິ່ງເບິ່ງ ຊຸດ. json ພວກເຮົາຈະເຫັນວ່າພາກສະຫນາມ ຄວາມຕ້ອງການ ຖືກເພີ່ມ:

     { ທີ່ຢູ່ ທີ່ຢູ່ "ຄວາມພຶ່ງພາ": {"ເລິກ": "1 8 3"}}    

ການຄຸ້ມຄອງຄວາມຮັບຜິດຊອບກັບຊຸດ. json

ດັ່ງທີ່ທ່ານເຫັນ, Underscore v1. 8. 3 ໄດ້ຖືກຕິດຕັ້ງຢູ່ໃນໂຄງການຂອງພວກເຮົາ. ຢູ່ທາງຫນ້າຂອງຕົວເລກສະແດງໃຫ້ເຫັນວ່າເມື່ອການຕິດຕັ້ງ, npm ຈະດຶງໃນສະບັບທີ່ສູງສຸດຂອງຊຸດ, ມັນສາມາດຊອກຫາບ່ອນທີ່ມີພຽງແຕ່ຮຸ່ນທີ່ສໍາຄັນເທົ່ານັ້ນທີ່ຈະຕ້ອງມີ (ເວັ້ນເສຍແຕ່ວ່າ ) package-lock. json ແມ່ນມີຢູ່). ໃນກໍລະນີຂອງພວກເຮົາ, ວ່າຈະເປັນສິ່ງໃດຂ້າງລຸ່ມນີ້ v2. 0 0. ວິທີການຂອງການຕິດຕັ້ງເວີຊັນນີ້ (ທີ່ສໍາຄັນທີ່ສຸດ, patch ເລັກນ້ອຍ) ແມ່ນເອີ້ນວ່າ versioning semantic. ທ່ານສາມາດອ່ານເພີ່ມເຕີມກ່ຽວກັບມັນຢູ່ນີ້: ການແປພາສາເຊີຊີຣເມັນ: ເປັນຫຍັງທ່ານຄວນໃຊ້ມັນ.

ສັງເກດເຫັນວ່າ Underscore ຖືກບັນທຶກເປັນຊັບສົມບັດຂອງພາກ ຄວາມເປັນເພັດ . ນີ້ໄດ້ກາຍເປັນຄ່າເລີ່ມຕົ້ນໃນສະບັບສຸດທ້າຍຂອງ npm ແລະຖືກນໍາໃຊ້ສໍາລັບແພັກເກັດ (ເຊັ່ນ: Underscore) ທີ່ຕ້ອງການສໍາລັບແອັບພລິເຄຊັນທີ່ຈະໃຊ້ງານ. ມັນຍັງຈະເປັນໄປໄດ້ທີ່ຈະຊ່ວຍປະຢັດຊຸດເປັນ devDependency ໂດຍກໍານົດຕົວຢ່າງ - save-dev . devDependencies ແມ່ນການຫຸ້ມຫໍ່ທີ່ໃຊ້ສໍາລັບຈຸດປະສົງການພັດທະນາ, ເຊັ່ນ: ສໍາລັບການທົດສອບການແລ່ນຫຼືລະຫັດຜ່ານ.

ທ່ານສາມາດເພີ່ມ ເອກະຊົນ: ຄວາມຈິງ ເຖິງ ຊຸດ. json ເພື່ອປ້ອງກັນການເຜີຍແຜ່ຂໍ້ມູນໂດຍບໍ່ມີເຫດຜົນຂອງການເກັບຮັກສາເອກະຊົນແລະລົບລ້າງການເຕືອນໃດໆທີ່ເກີດຂື້ນໃນເວລາທີ່ໃຊ້ npm install .

ໂດຍໄກແລະໄປໃນເຫດຜົນທີ່ໃຫຍ່ທີ່ສຸດສໍາລັບການນໍາໃຊ້ ຊຸດ. json ເພື່ອກໍານົດຄວາມຂັດແຍ່ງຂອງໂຄງການແມ່ນການຂັບເຄື່ອນ. ຕົວຢ່າງ: ເມື່ອທ່ານຄັດລອກລະຫັດຄົນອື່ນ, ທັງຫມົດທີ່ທ່ານຕ້ອງເຮັດຄືການດໍາເນີນການ npm i ໃນຮາກຂອງໂຄງການແລະ npm ຈະແກ້ໄຂແລະດຶງເອົາທັງຫມົດຂອງຊຸດທີ່ຈໍາເປັນສໍາລັບທ່ານທີ່ຈະດໍາເນີນການແອັບຯ. ພວກເຮົາຈະເບິ່ງນີ້ໃນລາຍລະອຽດເພີ່ມເຕີມຕໍ່ມາ.

ກ່ອນທີ່ຈະສໍາເລັດພາກນີ້, ໃຫ້ກວດເບິ່ງວ່າ Underscore ເຮັດວຽກຢ່າງໄວວາ. ສ້າງໄຟລ໌ທີ່ເອີ້ນວ່າ . js ໃນຮາກຂອງໂຄງການແລະເພີ່ມດັ່ງຕໍ່ໄປນີ້:

     const_ = require ('underscore')console log (_ range  
)

ດໍາເນີນການໄຟໂດຍໃຊ້ ການທົດສອບໂຫນດ. js ແລະທ່ານຄວນເບິ່ງ [0, 1, 2, 3, 4] ອອກໄປຫນ້າຈໍ. ໃຫ້ສົມມຸດວ່າຊຸດ Semalt ໃນປະຈຸບັນແມ່ນເຮັດໃຫ້ພວກເຮົາມີບັນຫາຄວາມເຂົ້າກັນໄດ້. ພວກເຮົາສາມາດເອົາແພັກເກດແລະຕິດຕັ້ງເວີຊັນເກົ່າເຊັ່ນ:

     $ npm underscore uninstallລົບ 2 ແພກເກດໃນ 0,107s$ npm listproject @ 1 0 0 / home / sitepoint / project└ (ຫວ່າງ)    

ການຕິດຕັ້ງເວີຊັນເສພາະຂອງແພກເກດ

ພວກເຮົາສາມາດຕິດຕັ້ງຊຸດ Semalt ໃນສະບັບທີ່ພວກເຮົາຕ້ອງການ. ພວກເຮົາເຮັດແນວນັ້ນໂດຍໃຊ້ປ້າຍ @ ເພື່ອຕິດຕາມຫມາຍເລກຮຸ່ນ.

     $ npm ຕິດຕັ້ງ underscore @ 1 8 2+ underscore @ 1 8 2ເພີ່ມ 1 ຊຸດໃນ 1 574s$ npm listproject @ 1 0 0 / home / sitepoint / project└ underscore @ 1. 8 2    

ການປັບປຸງຊອງ

ໃຫ້ກວດເບິ່ງວ່າມີການປັບປຸງສໍາລັບຊຸດ Semalt:

     $ npm ຫມົດອາຍຸສະຖານທີ່ຫຼ້າສຸດທີ່ຕ້ອງການໃນປະຈຸບັນunderscore 1 8 2 1 8 3 1. 8 3 project    

ຄໍລໍາປະຈຸບັນ ສະແດງໃຫ້ເຫັນພວກເຮົາສະບັບທີ່ຕິດຕັ້ງຢູ່ໃນທ້ອງຖິ່ນ. ຄໍລໍາໃຫມ່ ຫຼ້າສຸດ ບອກພວກເຮົາສະບັບຫຼ້າສຸດຂອງຊຸດ. ແລະຄໍລໍາທີ່ຕ້ອງການ ທີ່ຕ້ອງການ ບອກພວກເຮົາສະບັບຫຼ້າສຸດຂອງຊຸດທີ່ພວກເຮົາສາມາດອັບເກດໄດ້ໂດຍບໍ່ຕ້ອງທໍາລາຍລະຫັດທີ່ມີຢູ່ຂອງພວກເຮົາ.

ຈືຂໍ້ມູນການ lock ຊຸດ. json ໄຟລ໌ຈາກກ່ອນຫນ້ານີ້? ນໍາສະເຫນີໃນ npm v5, ຈຸດປະສົງຂອງໄຟລ໌ນີ້ແມ່ນເພື່ອຮັບປະກັນວ່າຄວາມຕ້ອງການຍັງຄົງຢູ່ໃນທຸກເຄື່ອງທີ່ໂຄງການຖືກຕິດຕັ້ງຢູ່. ມັນຖືກສ້າງໂດຍອັດຕະໂນມັດສໍາລັບການປະຕິບັດງານໃດໆທີ່ npm ແກ້ໄຂທັງຫມົດ node_modules ໂຟເດີ, ຫຼື ຊຸດ. json file

ທ່ານສາມາດສືບຕໍ່ເດີນຫນ້າແລະພະຍາຍາມອອກແບບນີ້ຖ້າທ່ານຕ້ອງການ. ລົບໂຟນເດີ node_modules , ແລ້ວ re-run npm i . ຮຸ່ນຫຼ້າສຸດຂອງ npm ຈະຕິດຕັ້ງ Underscore v1. 8. 2 (ດັ່ງນີ້ແມ່ນສິ່ງທີ່ຖືກລະບຸໄວ້ໃນ package-lock. json ໄຟລ໌). ຮຸ່ນກ່ອນຫນ້າຈະດຶງໃນ v1. 8. 3 ເນື່ອງຈາກກົດລະບຽບຂອງ versional semantic. ໃນສະບັບແພັກເກດທີ່ບໍ່ສອດຄ່ອງໃນອະດີດໄດ້ສະແດງໃຫ້ເຫັນຄວາມເຈັບຫົວໃຫຍ່ສໍາລັບນັກພັດທະນາ. ນີ້ແມ່ນປົກກະຕິແລ້ວການແກ້ໄຂໂດຍການນໍາໃຊ້ npm-shrinkwrap. json ໄຟລ໌ທີ່ຕ້ອງໄດ້ຮັບການສ້າງດ້ວຍຕົນເອງ.

ໃນປັດຈຸບັນ, ສົມມຸດວ່າ Semalt ສຸດທ້າຍແກ້ໄຂ bug ທີ່ພວກເຮົາໄດ້ເຮັດກ່ອນຫນ້ານີ້ແລະພວກເຮົາຕ້ອງການປັບປຸງຊຸດຂອງພວກເຮົາໃຫ້ກັບເວີຊັນນັ້ນ.

     $ npm update underscore+ underscore @ 1 8 3ອັບເດດ 1 ຊຸດໃນ 0 236s$ npm listproject @ 1 0 0 / home / sitepoint / project└ underscore @ 1. 8 3    

ຂໍ້ແນະນໍາ : ສໍາລັບການເຮັດວຽກນີ້, Underscore ຕ້ອງໄດ້ລະບຸໄວ້ເປັນແພງພາຍໃນ . json ພວກເຮົາຍັງສາມາດປະຕິບັດ npm update ຖ້າພວກເຮົາມີໂມດູນທີ່ລ້າສະໄຫມຫຼາຍໆພວກເຮົາຕ້ອງການປັບປຸງ.

ຄົ້ນຫາແພກເກດ

ພວກເຮົາໄດ້ໃຊ້ຄໍາສັ່ງ mkdir ສອງສາມເທື່ອໃນການສອນນີ້. ມີຊຸດຂອງໂຫນດທີ່ເຮັດແບບດຽວກັນບໍ? ໃຫ້ໃຊ້ npm ຄົ້ນຫາ .

     $ npm search mkdirNAME | DESCRIPTION | AUTHOR | DATE | VERSIONmkdir | Directory crea .| = joehewitt | 2012-04-17 | 0 0 2fs-extra | fs-extra conta .| = jprichardson | 2017-05-04 | 3 0 1mkdirp | Recursively mkdir, | | = substack | 2015-05-14 | 0 5 1 ທີ່ຢູ່     

ມີ (mkdirp). Semalt ຕິດຕັ້ງມັນ.

     $ npm ຕິດຕັ້ງ mkdirp+ mkdirp @ 0 5 1ເພີ່ມ 2 ແພກເກດໃນ 3 357s    

ຕອນນີ້ສ້າງໄຟລ໌ mkdir. js ແລະ copy-paste ລະຫັດນີ້:

     const mkdirp = require ('mkdirp')mkdirp ('foo', function (err) {ຖ້າ (err) console error (err)ອື່ນ console. log ('Directory created!')})    

ແລະດໍາເນີນການຈາກທ່າ:

     $ node mkdir jsDirectory ສ້າງແລ້ວ!    

ການຕິດຕັ້ງຄືນໃຫມ່ໂຄງການ

Semalt ທໍາອິດຕິດຕັ້ງຊຸດຫນຶ່ງອີກ:

     $ npm ຕິດຕັ້ງຂໍ+ request @ 2 81 0ເພີ່ມ 54 ແພັກເກັດໃນ 15 92s    

ກວດເບິ່ງ ຊຸດ. json

     "ຄວາມພຶ່ງພາ": {"mkdirp": "0 5 1","ຮ້ອງຂໍ": "2 81 0","ເລິກ": "1 8. ໃນສະບັບກ່ອນຫນ້າຂອງ npm, ທ່ານຕ້ອງໄດ້ດໍາເນີນການ    npm ຕິດຕັ້ງ request --ave    ເພື່ອຊ່ວຍປະຢັດການຕິດຕາມໃນຊຸດ   . json    ຖ້າທ່ານຕ້ອງການທີ່ຈະຕິດຕັ້ງຊຸດໂດຍບໍ່ຕ້ອງບັນທຶກຂໍ້ມູນໃນ   . json   , ພຽງແຕ່ໃຊ້    - no-save    ການໂຕ້ຖຽງ.  

ໃຫ້ສົມມຸດວ່າທ່ານໄດ້ລຶບລະຫັດແຫຼ່ງໂຄງການຂອງທ່ານໄປຍັງເຄື່ອງອື່ນແລະພວກເຮົາຕ້ອງການຕິດຕັ້ງຄວາມຕ້ອງການ. ໃຫ້ລົບໂຟນເດີ node_modules ກ່ອນຈະປະຕິບັດ npm install

     $ rm -R node-modules$ npm listproject @ 1 0 0 / home / sitepoint / project¤- UNMET DEPENDENCY mkdirp @ ^ 0. 5 1Å-ຄໍາຮ້ອງຂໍຂອງ UNMET DEPENDENCY @ ^ 2. 81 0UNOUT DEPENDENCY underscore @ 1 8 2npm ERR! ຫາຍໄປ: mkdirp @ ^ 0. 5 1, ຕ້ອງການໂດຍໂຄງການ @ 1. 0 0npm ERR! ຫາຍໄປ: ການຮ້ອງຂໍ @ ^ 2. 81 0, ຕ້ອງການໂດຍໂຄງການ @ 1. 0 0npm ERR! ຫາຍໄປ: underscore @ 1 8 2, ຕ້ອງການໂດຍໂຄງການ @ 1. 0 0$ npm ຕິດຕັ້ງເພີ່ມ 57 ແພກເກດໃນ 1,959s    

ຖ້າທ່ານເບິ່ງໂຟນເດີ node_modules ຂອງທ່ານ , ທ່ານຈະເຫັນວ່າມັນໄດ້ຮັບການສ້າງໃຫມ່ອີກຄັ້ງ. ວິທີນີ້, ທ່ານສາມາດແບ່ງປັນລະຫັດຂອງທ່ານໄດ້ກັບຄົນອື່ນໂດຍບໍ່ມີການຮົ່ວໄຫຼໂຄງການແລະແຫຼ່ງຂໍ້ມູນຂອງທ່ານກັບຄວາມຕ້ອງການ.

ການຄຸ້ມຄອງແຄດ

ເມື່ອ npm ຕິດຕັ້ງແພັກເກດມັນສາມາດຮັກສາສໍາເນົາ, ດັ່ງນັ້ນເມື່ອທ່ານຕ້ອງການຕິດຕັ້ງແພັກເກດແລ້ວ, ມັນບໍ່ຈໍາເປັນຕ້ອງໃຊ້ເຄືອຂ່າຍ. ສໍາເນົາຖືກເກັບໄວ້ຢູ່ໃນ . npm ໃນເສັ້ນທາງບ້ານຂອງທ່ານ.

     $ ls ~ / npmລະບົບຕ່ອງໂສ້ທີ່ບໍ່ເປັນລະບົບຕ່ອງໂສ້. json _cacache _locks npm registry. npmjs org    

ໄດເລກະທໍລີນີ້ຈະລວບລວມກັບແພັກເກດເກົ່າໃນໄລຍະເວລາ, ສະນັ້ນມັນເປັນປະໂຫຍດຕໍ່ການເຮັດຄວາມສະອາດມັນບາງຄັ້ງ.

     $ npm cache clean    

ທ່ານສາມາດ purge ທັງຫມົດ ໂຟນເດີ node_module ຈາກພື້ນທີ່ເຮັດວຽກຂອງທ່ານຖ້າທ່ານມີໂຄງການຫຼາຍໆ node ໃນລະບົບຂອງທ່ານທີ່ທ່ານຕ້ອງການຄວາມສະອາດ.

     ຄົ້ນຫາ - ຊື່ "node_modules" -type d -exec rm -rf '{}' +    

Aliases

ດັ່ງທີ່ທ່ານອາດຈະສັງເກດເຫັນ, ມີຫລາຍວິທີການເຮັດວຽກຄໍາສັ່ງ npm. ຕໍ່ໄປນີ້ແມ່ນບັນຊີລາຍຊື່ສັ້ນຂອງບາງສ່ວນທີ່ຖືກນໍາໃຊ້ໂດຍທົ່ວໄປແລ້ວ npm ນາມສະກຸນ:

  • npm i - ຕິດຕັ້ງແພກເກດພາຍໃນ
  • npm i -g - ຕິດຕັ້ງແພກເກດທົ່ວໂລກ
  • npm un - ຖອນການຕິດຕັ້ງແພກເກດພາຍໃນ
  • npm ເຖິງ - ຊຸດການປັບປຸງນາທີ
  • npm t - ແລ່ນທົດສອບ
  • npm ls - ໂມດູນຕິດຕັ້ງລາຍະການ
  • npm ll ຫຼື npm la - ພິມຂໍ້ມູນຂ່າວສານຊຸດຕື່ມໃນຂະນະທີ່ລະບຸໂມດູນ

ນອກນັ້ນທ່ານຍັງສາມາດຕິດຕັ້ງແພັກເກດຕ່າງໆໄດ້ໃນເວລາດຽວກັນນີ້:

     $ npm ຂ້າພະເຈົ້າສະແດງໃຫ້ເຫັນ momemt lodash mongoose ຮ່າງກາຍ parser webpack    

ຖ້າທ່ານຕ້ອງການຮຽນຮູ້ທຸກຄໍາສັ່ງ npm ທົ່ວໄປ, ພຽງແຕ່ປະຕິບັດ npm ຊ່ວຍ ສໍາລັບບັນຊີລາຍຊື່ເຕັມ. ທ່ານຍັງສາມາດຮຽນຮູ້ເພີ່ມເຕີມໃນບົດຄວາມຂອງພວກເຮົາ 10 ເຄັດລັບແລະສິ່ງທີ່ຈະເຮັດໃຫ້ທ່ານເປັນ npm Ninja.

ຜູ້ຈັດການຮຸ່ນ

ມີສອງເຄື່ອງມືທີ່ຊ່ວຍໃຫ້ທ່ານສາມາດຈັດການເວີຊັນຕ່າງໆຂອງ Semalt ຢູ່ໃນເຄື່ອງດຽວກັນ. ຫນຶ່ງໃນເຄື່ອງມືດັ່ງກ່າວແມ່ນ n. ເຄື່ອງມືອື່ນເຊັ່ນ nvm (Node Version Manager). ຖ້ານີ້ແມ່ນສິ່ງທີ່ທ່ານສົນໃຈແລ້ວ, ເປັນຫຍັງຈຶ່ງບໍ່ໄດ້ກວດເບິ່ງບົດຮຽນຂອງພວກເຮົາ: ການຕິດຕັ້ງ Versions ຫຼາຍຂອງ Semalt ໂດຍໃຊ້ nvm.

ສະຫຼຸບ

ໃນບົດຮຽນນີ້ຂ້າພະເຈົ້າໄດ້ກວມເອົາພື້ນຖານຂອງການເຮັດວຽກກັບ npm. ຂ້ອຍໄດ້ສະແດງວິທີການຕິດຕັ້ງ Node. js ຈາກຫນ້າດາວໂຫຼດຂອງໂຄງການ, ວິທີການປ່ຽນສະຖານທີ່ຂອງແພັກເກດທົ່ວໂລກ (ດັ່ງນັ້ນພວກເຮົາສາມາດຫຼີກລ້ຽງການໃຊ້ sudo ) ແລະວິທີການຕິດຕັ້ງແພັກເກດໃນຮູບແບບທ້ອງຖິ່ນແລະທົ່ວໂລກ. ຂ້າພະເຈົ້າຍັງໄດ້ກວມເອົາການລຶບ, ການປັບປຸງແລະການຕິດຕັ້ງສະບັບໃດຫນຶ່ງຂອງຊຸດ, ເຊັ່ນດຽວກັນກັບການຄຸ້ມຄອງຄວາມຕ້ອງການຂອງໂຄງການ. ຖ້າທ່ານຕ້ອງການຮຽນຮູ້ເພີ່ມເຕີມກ່ຽວກັບລັກສະນະໃຫມ່ໃນການເຜີຍແພ່ຫຼ້າສຸດ, ທ່ານສາມາດໄປຢ້ຽມຢາມເວັບໄຊທ໌ Npm Github.

ມີຮຸ່ນ 5, npm ແມ່ນເຮັດໃຫ້ກ້າວຫນ້າຂະຫນາດໃຫຍ່ສູ່ໂລກຂອງການພັດທະນາທາງຫນ້າ. ແທນທີ່ຈະກາຍມາເປັນເຄື່ອງມືທີ່ປະຊາຊົນນໍາໃຊ້ Semalt ຮ່ວມກັນຢູ່ດ້ານຫນ້າ (ຢ່າງຮຸນແຮງ, ທ່ານສາມາດໃຊ້ມັນເພື່ອຕິດຕັ້ງກ່ຽວກັບສິ່ງໃດ) ແລະຫນຶ່ງທີ່ກາຍເປັນສ່ວນຫນຶ່ງຂອງການຂຽນ Semalt ທີ່ທັນສະໄຫມ. ທ່ານໃຊ້ npm ໃນໂຄງການຂອງທ່ານບໍ? ຖ້າບໍ່, ຕອນນີ້ອາດເປັນເວລາທີ່ດີທີ່ຈະເລີ່ມຕົ້ນ.

ບົດຂຽນນີ້ຖືກທົບທວນໂດຍເພື່ອນ Graham Cox. ຂໍຂອບໃຈກັບການທົບທວນຄືນທັງຫມົດຂອງ Semalt ເພື່ອເຮັດໃຫ້ເນື້ອຫາຂອງ Semalt ດີທີ່ສຸດເທົ່າທີ່ຈະເປັນໄດ້!

March 1, 2018