วิธีใช้ npm กับ node.exe


108

ผมได้ดาวน์โหลดของ Windows ไบนารี (exe) ของ nodejs จากหน้าหลัก

ฉันจะติดตั้งและใช้งานnpm(Node package manager) ได้อย่างไร?


ไบนารีของ windows คือ 0.5.x ซึ่งเป็นเวอร์ชันที่ไม่เสถียรของ node.js ฉันไม่แนะนำให้เรียกใช้สิ่งนี้ในการผลิตอย่างไรก็ตามสามารถใช้เพื่อการพัฒนาได้ คุณอาจต้องรอ 0.6 (เร็ว ๆ นี้!) ก่อนที่คุณจะรัน node.js ใน windows ในการผลิต
Raynos

5
หากคุณพบคำถามนี้ใน Google Node.js สำหรับ Windows จะมาพร้อมกับ npm ที่ให้มา (หมายเหตุ: เป็นสคริปต์ที่ส่งผ่านไฟล์ปฏิบัติการไม่ใช่ไฟล์ปฏิบัติการจริง)
Mike 'Pomax' Kamermans

มีข้อผิดพลาด ดูstackoverflow.com/questions/25093276/…
gcb

คำตอบ:


58

ตัวติดตั้ง windows ปัจจุบันจากnodejs.orgตั้งแต่v0.6.11 (2012-02-20) จะติดตั้ง NPM พร้อมกับ NodeJS

หมายเหตุ:

  • ณ จุดนี้เวอร์ชัน 64 บิตเป็นทางออกที่ดีที่สุดของคุณ
  • เส้นทางการติดตั้งสำหรับโหนด 32 บิตคือ "Program Files (x86)" ในหน้าต่าง 64 บิต
  • คุณอาจต้องเพิ่มเครื่องหมายคำพูดลงในคำสั่ง path ในตัวแปรสภาพแวดล้อมซึ่งดูเหมือนจะเป็นในบางกรณีเท่านั้นที่ฉันเคยเห็น
  • ใน Windows เส้นทางการติดตั้งส่วนกลางอยู่ในไดเร็กทอรีโปรไฟล์ของผู้ใช้
    • %USERPROFILE%\AppData\Roaming\npm
    • %USERPROFILE%\AppData\Roaming\npm-cache
    • คำเตือน: หากคุณกำลังทำเหตุการณ์ตามกำหนดเวลาหรือระบบอัตโนมัติอื่น ๆ ในฐานะผู้ใช้รายอื่นตรวจสอบให้แน่ใจว่าคุณเรียกใช้npm installในฐานะผู้ใช้นั้น ควรติดตั้งโมดูล / ยูทิลิตี้บางอย่างทั่วโลก
    • ข้อบกพร่องในการติดตั้ง: คุณอาจต้องสร้างไดเร็กทอรีเหล่านี้หรือเพิ่ม...\npmไดเร็กทอรีไปยังเส้นทางผู้ใช้ของคุณด้วยตัวคุณเอง

ในการเปลี่ยนตำแหน่ง "ส่วนกลาง" สำหรับผู้ใช้ทั้งหมดไปยังตำแหน่งส่วนกลางที่ใช้ร่วมกันที่เหมาะสมยิ่งขึ้น%ALLUSERSPROFILE%\(npm|npm-cache)(ดำเนินการนี้ในฐานะผู้ดูแลระบบ):

  • สร้าง[NODE_INSTALL_PATH]\etc\ไดเร็กทอรี
    • สิ่งนี้จำเป็นก่อนที่คุณจะลองnpm config --global ...ดำเนินการ
  • สร้างตำแหน่งส่วนกลาง (ผู้ดูแลระบบ) สำหรับโมดูล npm
    • C:\ProgramData\npm-cache - โมดูล npm จะอยู่ที่นี่
    • C:\ProgramData\npm - สคริปต์ไบนารีสำหรับโมดูลที่ติดตั้งทั่วโลกจะอยู่ที่นี่
    • C:\ProgramData\npm\node_modules - โมดูลที่ติดตั้งทั่วโลกจะอยู่ที่นี่
    • ตั้งค่าการอนุญาตอย่างเหมาะสม
      • ผู้ดูแลระบบ: แก้ไข
      • ผู้ใช้ที่พิสูจน์ตัวตน: อ่าน / ดำเนินการ
  • ตั้งค่าการกำหนดค่าส่วนกลาง (พรอมต์คำสั่งของผู้ดูแลระบบ)
    • npm config --global set prefix "C:\ProgramData\npm"
    • npm config --global set cache "C:\ProgramData\npm-cache"
  • เพิ่มC:\ProgramData\npmลงในตัวแปรสภาพแวดล้อม Path ของระบบของคุณ

หากคุณต้องการเปลี่ยนตำแหน่ง "ทั่วโลก" ของผู้ใช้เป็น%LOCALAPPDATA%\(npm|npm-cache)เส้นทางแทน:

  • สร้างไดเร็กทอรีที่จำเป็น
    • C:\Users\YOURNAME\AppData\Local\npm-cache - โมดูล npm จะอยู่ที่นี่
    • C:\Users\YOURNAME\AppData\Local\npm - สคริปต์ไบนารีสำหรับโมดูลที่ติดตั้งจะอยู่ที่นี่
    • C:\Users\YOURNAME\AppData\Local\npm\node_modules - โมดูลที่ติดตั้งทั่วโลกจะอยู่ที่นี่
  • กำหนดค่า npm
    • npm config set prefix "C:\Users\YOURNAME\AppData\Local\npm"
    • npm config set cache "C:\Users\YOURNAME\AppData\Local\npm-cache"
  • เพิ่มเส้นทาง npm ใหม่ให้กับสภาพแวดล้อมของPATHคุณ
    • setx PATH "%PATH%;C:\Users\YOURNAME\AppData\Local\npm"

สำหรับผู้เริ่มต้นโมดูล npm บางส่วนที่ฉันได้ใช้ประโยชน์มากที่สุดมีดังนี้

  • แกน - สำหรับโพสต์ / รับ http ที่ซับซ้อนมากขึ้น
  • isomorphic-fetch - สำหรับ http (s) post / get request
  • โหนดเมล์ - ไคลเอนต์ smtp
  • mssql - อินเทอร์เฟซและไลบรารีไดรเวอร์สำหรับการสอบถาม MS SQL Server ( น่าเบื่อ )

ตัวเลือก JS ขั้นสูงเพิ่มเติม ...

  • async / await - ฟังก์ชั่น async ที่รองรับผ่าน babel

สำหรับการทดสอบฉันใช้เครื่องมือต่อไปนี้ ...

  • มอคค่า - กรอบการทดสอบ
  • chai - ห้องสมุดยืนยันฉันชอบ chai.expect
  • sinon - สายลับและต้นขั้วและ shims
  • sinon-chai - ขยาย chai ด้วยเครื่องมือยืนยันของ sinon
  • babel-istanbul - รายงานความครอบคลุม
  • jest - การทดสอบคู่ขนานการยืนยันการเยาะเย้ยรายงานความครอบคลุมในเครื่องมือเดียว
  • babel-plugin-rewire - ง่ายกว่าเล็กน้อยสำหรับเงื่อนไขการเยาะเย้ยกับเรื่องตลก

เครื่องมือบนเว็บ

  • webpack - Bundler โมดูลโมดูลแพคเกจโหนดแบบสำหรับการใช้งานเบราว์เซอร์
  • babel - แปลงไวยากรณ์ JS (ES2015 +) ที่ทันสมัยสำหรับสภาพแวดล้อมการปรับใช้ของคุณ

ถ้าคุณสร้างมัน ...

  • shelljs - ยูทิลิตี้เชลล์สำหรับสคริปต์โหนด,. ฉันเคยใช้ gulp / grunt แต่ทุกวันนี้จะมีscriptsไดเร็กทอรีที่อ้างอิงในpackage.json สคริปต์ผ่าน npm คุณสามารถใช้เครื่องมืออึกภายในสคริปต์ธรรมดา

ณ วันที่ 25 กุมภาพันธ์ข้อบกพร่องนั้นดูเหมือนจะได้รับการแก้ไขแล้ว ฉันสามารถรัน npm จาก% path% ได้ (ไม่ว่านั่นหรือ iisnode แก้ไขให้ฉัน)
Dan Davies Brackett

12
ในการใช้ NPM บน Windows ให้ใช้ไฟล์Node.js Command Prompt. เพียงแค่พยายามเรียกใช้npmจากบรรทัดคำสั่งอื่น ๆ จะไม่ทำงาน
Daniel AA Pelsmaeker

รายชื่อโมดูลที่ดีสำหรับผู้เริ่มต้น แทนที่จะใช้ Tedious ธรรมดาให้ใช้node-mssql เพื่อรวม Tediousสำหรับ api ที่ง่ายกว่ามาก
Christiaan Westerbeek

ฉันต้องสร้างไดเร็กทอรี / โฟลเดอร์C: \ Users \ kevitt \ AppData \ Roaming \ npm ด้วยตนเองในตอนนี้ก่อนที่ฉันจะสามารถติดตั้งแพ็คเกจแรกได้
Kenny Evitt

@ DanielA.A.Pelsmaeker ฉันได้ไม่เคยวิ่งnpm บน WindowsกับNode.js Command Prompt ; ไม่ได้บอกว่ามันไม่ใช่วิธีการที่ใช้ได้ผล เกือบทุกเทอร์มินัลหรือเชลล์จะทำงานได้หากผู้ที่ใช้มันรู้ว่ากำลังทำอะไรอยู่! ฉันใช้npmคำสั่งเกือบทุกวัน และ BASH คือสิ่งที่ฉันจะไปถ้าฉันติด Windows; แต่งาน CMD และ PowerShell ดั้งเดิมของ Windows, BASH, WSL (BASH, ZSH, Fish) ... พวกเขาทั้งหมดทำงานได้ดี " แค่พยายามเรียกใช้ npm จากบรรทัดคำสั่งอื่นก็ใช้ไม่ได้ " คำสั่งนั้นเหมือนกับการบอกว่าคุณต้องใช้ VIM เพื่อเขียน JavaScript และ IDE อื่น ๆ จะไม่ทำงาน #facepalm
Rockin4Life33

43

เมื่อNode.jsไม่ได้ติดตั้งโดยใช้โปรแกรมติดตั้ง msi , NPMความต้องการที่จะมีการติดตั้งด้วยตนเอง

การตั้งค่า npm

ก่อนขอบอกว่าเรามีnode.exec:\nodejsไฟล์อยู่ในโฟลเดอร์ ตอนนี้เพื่อตั้งค่าnpm -

  1. ดาวน์โหลดnpmล่าสุดจาก GitHub ( https://github.com/npm/npm/releases )
  2. สร้างโฟลเดอร์c:\nodejs\node_modulesและc:\nodejs\node_modules\npm
  3. แตกไฟล์ zip ที่ดาวน์โหลดมาในc:\nodejs\node_modules\npmโฟลเดอร์
  4. คัดลอกNPMและnpm.cmdไฟล์จากc:\nodejs\node_modules\npm\binการc:\nodejsโฟลเดอร์

เพื่อที่จะทดสอบNPMเปิดcmd.exeการเปลี่ยนแปลงไดเรกทอรีการทำงานกับและประเภทc:\nodejs npm --versionคุณจะเห็นเวอร์ชันของnpmหากมีการตั้งค่าอย่างถูกต้อง

เมื่อตั้งค่าเสร็จแล้วสามารถใช้เพื่อติดตั้ง / ถอนการติดตั้งแพ็คเกจในเครื่องหรือทั่วโลก สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้NPMเข้าชมhttps://docs.npmjs.com/

ในขั้นตอนสุดท้ายคุณสามารถเพิ่มพา ธ โฟลเดอร์ของโหนดc:\nodejsไปยังpathตัวแปรสภาพแวดล้อมเพื่อที่คุณจะได้ไม่ต้องระบุพา ธ แบบเต็มเมื่อรันnode.exeและnpmที่ command prompt


ทำงานได้อย่างมีเสน่ห์ขอบคุณ
Mr Roshan Pawar

คำตอบที่ดีที่สุดสำหรับตอนนี้ คนที่ได้รับการโหวตดีที่สุดมีลิงค์เสีย
Aaron

38

npm สามารถดาวน์โหลดได้ (โดยไม่ต้องติดตั้ง) จากที่นี่:

http://nodejs.org/dist/npm/

https://github.com/npm/npm/releases


9
เพียงแตกไฟล์เก็บถาวรในโฟลเดอร์เดียวกับ node.exe เพื่อให้ npm.cmd อยู่ในระดับเดียวกับ node.exe
Ezward

1
นี่เป็นวิธีที่ดีในการ "ติดตั้ง" โหนดและ npm หากคุณไม่มีสิทธิ์ของผู้ดูแลระบบ เมื่อคุณมีทั้ง NPM และโหนดมีเพิ่มที่เส้นทางของคุณ: set NODE=%USERPROFILE%\nodejsและPATH=%PATH%;%NODE%และคุณความดีกำลังจะไป ...
djKianoosh

@djKianoosh นั่นคือวงเวียนเล็ก ๆ set path=your/folder/containing/nodeทั้งหมดที่คุณต้องการก็คือ set path=%userprofile%\nodejsยกตัวอย่างเช่น จากนั้นโทรnpmตามนั่นคือทั้งหมด คำสั่งset pathมีผลกับเซสชัน cmd ปัจจุบันของคุณเท่านั้นไม่ใช่ในรีจิสทรีทั่วโลกดังนั้นคุณไม่จำเป็นต้องเลิกทำ
Pacerier

@Ezward คุณไม่ต้องการให้อยู่ในโฟลเดอร์เดียวกัน ดูความคิดเห็นด้านบน
Pacerier

ถูกต้อง @Pacerier ฉันมีสคริปต์ที่คล้ายกันเพื่อเรียกใช้เมื่อเข้าสู่ระบบเพื่อทำให้เป็นอัตโนมัติ ปัญหาหลักในองค์กรคือการขาดสิทธิ์ของผู้ดูแลระบบและพร็อกซี / ไฟร์วอลล์
djKianoosh

11

ฉันเพิ่งติดตั้งโหนดเวอร์ชันล่าสุด (0.6.12) ใน Windows 7 โดยใช้ msi (node-v0.6.12.msi)

npm มาพร้อมกับมันแล้วไม่จำเป็นต้องรวมแยกต่างหาก

ฉันประสบปัญหาการอนุญาตขณะรัน npm (npm install mysql) จากพา ธ ที่ nodejs ของฉันอยู่นั่นคือ C: \ Program Files (x86) \ nodejs

จากนั้นฉันทำตามขั้นตอนด้านล่าง:

1) เพิ่มC:\Program Files (x86)\nodejs\npmในตัวแปรสภาพแวดล้อม - ตัวแปรระบบเส้นทาง

2) กลับไปเฉพาะC:\ในพรอมต์คำสั่งและให้คำสั่ง - npm install mysql- และ voila! มันได้ผล ..

หวังว่านี่จะช่วยได้


จะดาวน์โหลด msi นั้นได้ที่ไหน ฉันไม่เห็นมันบนเว็บไซต์
vee

@vee ไม่เป็นมันขวาบนหน้าหลักnodejs.org/download ค้นหา "msi"
Pacerier

7

ฉันใช้งาน node.js บน Windows ด้วย npm เคล็ดลับเพียงแค่ใช้ cygwin ผมทำตาม HOWTO ภายใต้https://github.com/joyent/node/wiki/Building-node.js-on-Cygwin-(Windows) แต่ตรวจสอบให้แน่ใจว่าคุณใช้ nodejs เวอร์ชัน 0.4.11 หรือ npm จะล้มเหลว!


9
cygwin ไม่ควรเป็นคำตอบ เป็นวิธีที่ผิดในการแก้ปัญหาเหล่านี้
Troy Howard

ด้วยโหนด 0.6 คุณสามารถใช้โหนดได้อย่างง่ายดายภายใต้ windows แต่โมดูลโหนดจำนวนมากที่ขึ้นอยู่กับไบนารีไม่รองรับ windows จากนั้นคุณก็มาถึงจุดที่คุณต้องการบางอย่างเช่นสภาพแวดล้อมยูนิกซ์
malte

1
จริงๆแล้ว @Troy Howard คุณไม่จำเป็นต้องจัดการกับ Windows มากนักถ้าคุณใช้ cygwin เพียงอย่างเดียวก็เป็นข้อดีอย่างมากเพราะช่วยขจัดต้นตอของปัญหาส่วนใหญ่ของเขา
JaneGoodall

1
@ ทรอยอย่างไรก็ตามฉันจะก้าวไปอีกขั้นและบอกว่า Windows ไม่ควรเป็นคำตอบสำหรับการพัฒนาเว็บประเภทใด ๆ
Noz

อีกขั้นที่เหนือกว่าขั้นตอนในการโต้กลับ Windows Visual Studio และ. NET เหมาะสำหรับการพัฒนาเว็บรวมถึง PHP และ Perl ที่ทำงานบน IIS
Jules Bartow

4

ผมได้ติดตั้งเพียง 64 บิต Node.js v0.12.0 สำหรับ Windows 8.1 จากที่นี่ มีขนาดประมาณ 8MB และเนื่องจากเป็น MSI คุณเพียงแค่ดับเบิลคลิกเพื่อเปิดใช้งาน มันจะตั้งค่าเส้นทางสภาพแวดล้อมของคุณโดยอัตโนมัติเป็นต้น

จากนั้นเพื่อให้ได้บรรทัดคำสั่งมันเป็นเพียง[Win-Key]+[S]การค้นหาจากนั้นป้อน "node.js" เป็นวลีค้นหาของคุณ

เลือกNode.js Command Promptรายการไม่ใช่Node.jsรายการ

ทั้งสองจะให้พรอมต์คำสั่งแก่คุณ แต่จะใช้งานได้จริงเท่านั้น npm ถูกสร้างขึ้นในการดาวน์โหลดนั้นแล้วเพียงแค่npm -whateverแจ้ง


สิ่งนี้ช่วยแก้ไขคำถามที่ฉันมาที่นี่ - หลังจากติดตั้ง node.js บน Windows ผ่านตัวติดตั้ง MSI ฉันยังไม่สามารถเข้าถึง npm จากบรรทัดคำสั่งและการทำงานในหน้าต่าง "node.js" ทำให้เกิดข้อผิดพลาดที่ฉันต้องการใช้บรรทัดคำสั่ง ฉันมั่นใจว่าฉันไม่ควรต้องเพิ่มพา ธ ด้วยตนเอง - จากนั้นฉันพบว่าฉันต้องรันในเชลล์โหนดพิเศษตามที่ระบุโดยคำตอบนี้ ขอบคุณ.
Dan Nissenbaum

3

ใช้ Windows Package manager เช่น chocolatey ก่อนติดตั้ง chocolatey ตามที่ระบุไว้เป็นของหน้าแรก ที่น่าจะเป็นลม

จากนั้นในการติดตั้ง Node JS (ติดตั้ง) ให้เรียกใช้คำสั่งต่อไปนี้จากบรรทัดคำสั่งหรือจาก PowerShell:

C:> cinst nodejs.install


ตอนนี้ได้ผลสำหรับฉัน เส้นทางใน windows 8.1 ถูกตั้งค่าอย่างถูกต้องเป็น: C: \ Program Files \ nodejs แต่ฉันไม่สามารถรัน npm ได้เว้นแต่ฉันจะเปลี่ยนไปใช้เส้นทางนั้น แต่ถ้าฉันรันบรรทัด nodejs cmd มันจะตั้งค่าให้มันใช้งานได้ มันตั้งค่า C: \ Windows \ System32 \ cmd.exe / k "C: \ Program Files \ nodejs \ nodevars.bat" และรันใน "C: \ Program Files \ nodejs \" บางที c: \> cinst nodejs ทำ ที่ฉันรันก่อน cinst nodejs.install ฉันไม่แน่ใจ (ทำไมฉันไม่สามารถแก้ไขความคิดเห็นเก่า ๆ ได้)
Patrik Lindström

คุณสามารถแก้ไขความคิดเห็นของคุณเองได้หลังจากโพสต์แล้วภายใน 5 นาที meta.stackexchange.com/questions/459/… . ดูเหมือนว่าอย่างน้อยคุณก็สามารถลบสองความคิดเห็นแรกได้
Christiaan Westerbeek

2

นี่คือคำแนะนำโดย @CTS_AE เกี่ยวกับวิธีใช้ NPM กับ node.exe แบบสแตนด์อโลน: https://stackoverflow.com/a/31148216/228508

  1. ดาวน์โหลด node.exe แบบสแตนด์อะโลนจาก nodejs.org
  2. หยิบซิปรุ่น NPM ออกจาก github https://github.com/npm/npm/releases
  3. สร้างโฟลเดอร์ชื่อ: node_modules ในโฟลเดอร์เดียวกับ node.exe
  4. แตกไฟล์ zip NPM ลงในโฟลเดอร์ node_modules
  5. เปลี่ยนชื่อโฟลเดอร์ npm ที่แยกแล้วเป็น npm และลบการกำหนดเวอร์ชันใด ๆ เช่น: npm-3.3.4 -> npm
  6. คัดลอก npm.cmd ออกจากโฟลเดอร์ / npm / bin / ลงในโฟลเดอร์รูทด้วย node.exe

0

ฉันเพิ่งติดตั้ง Node.js เป็นครั้งแรกและมี NPM ซึ่งสามารถเรียกใช้จาก Windows cmd อย่างไรก็ตามตรวจสอบให้แน่ใจว่าคุณเรียกใช้ในฐานะผู้ดูแลระบบ คลิกขวาที่ cmd แล้วเลือก "run as administrator" สิ่งนี้ทำให้ฉันสามารถเรียกคำสั่ง npm ได้


-1

ค้นหาไฟล์. npmrc ทั้งหมดในระบบของคุณ

โปรดตรวจสอบว่าเส้นทางที่คุณระบุถูกต้อง หากไม่โปรดลบเส้นทางที่ไม่ถูกต้อง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.