โมดูล NPM จะไม่ติดตั้งทั่วโลกหากไม่มี sudo


126

ฉันเพิ่งติดตั้ง Ubuntu 12.04 LTS ใหม่และก่อนอื่นฉันทำตามขั้นตอนเหล่านี้ :

  1. ติดตั้ง Node ผ่านตัวจัดการแพ็คเกจด้วยสคริปต์ต่อไปนี้

    sudo apt-get update
    
    sudo apt-get install python-software-properties python g++ make
    
    sudo add-apt-repository ppa:chris-lea/node.js
    
    sudo apt-get update
    
    sudo apt-get install nodejs
  2. พยายามติดตั้ง yeoman, express, n, เครื่องกำเนิดไฟฟ้าของ yeoman ทั่วโลกและทั้งหมดส่งกลับข้อผิดพลาดเดียวกัน

    npm ผิดพลาด! ข้อผิดพลาด: EACCES, symlink "../lib/node_modules/n/bin/n"

    npm ผิดพลาด! {[ข้อผิดพลาด: EACCES, symlink '../lib/node_modules/n/bin/n'] errno: 3, รหัส: 'EACCES', เส้นทาง: '../lib/node_modules/n/bin/n'}

    npm ผิดพลาด!

    npm ผิดพลาด! โปรดลองเรียกใช้คำสั่งนี้อีกครั้งในฐานะ root / Administrator

    npm ผิดพลาด! ระบบ Linux 3.8.0-29-generic

    npm ผิดพลาด! คำสั่ง "/ usr / bin / node" "/ usr / bin / npm" "install" "-g" "-d" "n"

    npm ผิดพลาด! cwd / home / heberlz

    npm ผิดพลาด! โหนด -v v0.10.20

    npm ผิดพลาด! npm -v 1.3.11

    npm ผิดพลาด! เส้นทาง ../lib/node_modules/n/bin/n

    npm ผิดพลาด! รหัส EACCES

    npm ผิดพลาด! Errno 3

    npm ผิดพลาด! ข้อผิดพลาดสแต็ก: EACCES, symlink '../lib/node_modules/n/bin/n'

    npm ผิดพลาด!

    npm ผิดพลาด! สามารถดูรายละเอียดการบันทึกเพิ่มเติมได้ใน:

    npm ผิดพลาด! /home/heberlz/npm-debug.log

    npm ผิดพลาด! ไม่ตกลงรหัส 0

  3. เรียกคืนการเป็นเจ้าของโฟลเดอร์ต่อไปนี้ซ้ำ ~ / .npm, / usr / lib / node, / usr / lib / node_modules และ symlinks ต่อไปนี้ / usr / bin / node, / usr / bin / nodejs โดยไม่ประสบความสำเร็จอย่างแน่นอน

ฉันต้องติดตั้ง yeoman และเครื่องกำเนิดไฟฟ้าโดยไม่ใช้ sudo เพื่อไม่ให้มีปัญหาในภายหลัง :(


ขอบคุณ Phil ตอนนี้ดูดีขึ้นมาก
HeberLZ

2
หากคุณต้องการให้ npm ติดตั้งแพ็คเกจส่วนกลางใน $ HOME แทนที่จะเป็น / usr ให้ทำตามคำแนะนำgithub.com/sindresorhus/guides/blob/master/…
Colonel Panic

นี่คือสิ่งที่ได้ผลสำหรับฉันgithub.com/nodejs/node-v0.x-archive/issues/… :ln -s /usr/bin/nodejs /usr/bin/node
Loïc MICHEL

คำตอบ:


318

Ubuntu 12.04 และใช้ PPA ของ Chris Lea เพื่อติดตั้งสิ่งต่อไปนี้ใช้ได้กับฉัน:

npm config set prefix '~/.npm-packages'

และเพิ่ม $ HOME / .npm-Packages / bin เป็น $ PATH

ผนวกกับ .bashrc

export PATH="$PATH:$HOME/.npm-packages/bin"

ดูhttps://stackoverflow.com/a/18277225จาก @passy


9
นี่ดูเหมือนวิธีแก้ปัญหาที่สะอาดกว่ามาก หากคุณไม่ชอบโฟลเดอร์ระบบในโฮมไดเร็กทอรีของคุณคุณสามารถใช้ตำแหน่งเช่น ~ / .local / share / npm
JeroenHoek

ควรสังเกตว่าหลังจากที่คุณเปลี่ยนคำนำหน้าคุณควรติดตั้งโมดูลส่วนกลางทั้งหมดที่คุณติดตั้งไว้ก่อนหน้านี้ใหม่รวมถึง npm เองด้วย
Dziamid

ดูเหมือนจะดี แต่ฉันพบว่าการอนุญาตให้ผู้ใช้เขียนถึง/usr/lib/node_modules/นั้นง่ายกว่ามาก หรืออาจจะเหมาะสมในการสร้างกลุ่ม nodejs unix และให้สิทธิ์กลุ่มนั้นในการเขียนลงในไดเร็กทอรีนั้น
mehulkar

รายละเอียดเล็ก ๆ อย่างหนึ่งที่ต้องเพิ่มคือคุณต้องสร้างไดเร็กทอรี ~ / npm ด้วยตัวคุณเอง มิฉะนั้น npm จะออกพร้อมกับข้อผิดพลาด ENOENT
Jason Farnsworth

6
เหตุใดจึงไม่ใช่ค่าเริ่มต้นสำหรับ npm ขอบคุณสำหรับการแบ่งปัน.
Dorian

23

หากคุณมี$HOME/binเส้นทางของคุณอยู่แล้วทางออกที่ง่ายกว่าก็คือ ...

npm config set prefix ~
  • คำสั่งโหนดใหม่จะติดตั้งลงใน$HOME/binไดเร็กทอรีของคุณ
  • ไม่ต้องเปลี่ยนเส้นทาง!

เนื่องจากการสนทนานี้เกี่ยวกับการลดความเสี่ยงด้านความปลอดภัยในการทำงานsudoคุณจึงควรทราบด้วยว่าแอปโหนดใด ๆ อาจติดตั้งชื่อแอปที่ไม่ตรงกับชื่อแพ็กเกจโหนดที่ลงทะเบียนที่คุณคิดว่าคุณกำลังติดตั้ง จึงมีความเสี่ยงที่จะเข้ามาแทนที่คำสั่งระบบที่มีอยู่หรือหนึ่งที่คุณมีอยู่แล้วในnpm install $HOME/binหากคุณกังวลให้ตรวจสอบbinและscriptsคุณสมบัติในpackage.jsonไฟล์ของแอพที่คุณกำลังติดตั้งก่อน

โดยทั่วไปปลอดภัยที่สุดที่จะ:

  • (a) วาง$HOME/binสุดท้ายในเส้นทางของคุณเพื่อไม่ให้คำสั่งระบบถูกแทนที่
  • (b) ไม่รวม "." หรือเส้นทางสัมพัทธ์ใด ๆ ในของคุณ$PATHดังนั้นคุณจะไม่เรียกใช้คำสั่งที่อยู่ในไดเร็กทอรีปัจจุบันโดยไม่ได้ตั้งใจ

อ้างอิง:


1
ปัญหาด้านความปลอดภัยที่สำคัญอีกประการหนึ่งnpmคือซอร์สโค้ดที่คุณเห็นในgithub.comrepo สำหรับแพ็คเกจโหนดอาจไม่ใช่รหัสเดียวกับที่คุณติดตั้งจากnpm.orgเซิร์ฟเวอร์รีจิสทรี
Tony O'Hagan

แม้ว่าในทางทฤษฎีแล้วแพ็กเกจโหนดที่สร้างขึ้นมาอย่างดีจะติดตั้งอย่างมีความสุข~/binแต่แพ็กเกจโหนดบางแพ็กเกจ (หรือแพ็กเกจที่ขึ้นต่อกัน) ได้รับการทดสอบว่าติดตั้งด้วยsudoดังนั้นโปรดทราบว่าคุณอาจพบปัญหา "สภาพแวดล้อมการติดตั้ง" ที่ยังไม่ทดสอบ เช่นเดียวกับปัญหาสภาพแวดล้อมอื่น ๆ (เช่นการเปลี่ยนแปลง OS) หลักการ "เขียนครั้งเดียวทดสอบทุกที่" ยังคงเป็นจริง
Tony O'Hagan

ข้อเสียของวิธีนี้คือ npm สร้างไดเร็กทอรีเพิ่มเติมเรียกว่า ~ / lib สิ่งนี้อาจไม่เป็นที่ต้องการทั้งนี้ขึ้นอยู่กับแนวทางปฏิบัติขององค์กรของคุณ
นาย S

12

สำหรับเดือนตุลาคม 2557:

Node.js สามารถใช้ได้จาก NodeSource Debian และ Ubuntu ไบนารีการกระจายพื้นที่เก็บข้อมูล

curl -sL https://deb.nodesource.com/setup | sudo bash -
sudo apt-get install -y nodejs

แค่นั้นแหละ.

คำตอบที่ล้าสมัย:

วิธีที่เร็วที่สุดโดยไม่ต้องใช้ sudo เป็นไปตามที่ isaacอธิบายไว้ที่นี่

ฉันขอแนะนำให้คุณอย่าจัดการแพ็คเกจด้วย sudo! แพ็กเกจสามารถเรียกใช้สคริปต์โดยพลการซึ่งทำให้การใช้คำสั่งตัวจัดการแพ็กเกจปลอดภัยเท่ากับการตัดผมแบบเลื่อยไฟฟ้า แน่นอนว่ามันเร็วและจะผ่านอุปสรรคต่างๆไปได้อย่างแน่นอน แต่จริงๆแล้วคุณอาจต้องการให้อุปสรรคนั้นอยู่ที่นั่น

ขอแนะนำให้ทำครั้งเดียวแทน:

sudo chown -R $USER /usr/local

แก้ไข:

มีข้อกังวลด้านความปลอดภัยและข้อ จำกัด ด้านการทำงานบางประการเกี่ยวกับการเปลี่ยนความเป็นเจ้าของ / usr / local ให้กับผู้ใช้ปัจจุบัน:

ต้องบอกว่าหากคุณต้องการติดตั้งโมดูลส่วนกลางโดยไม่ใช้ sudo ฉันไม่เห็นทางออกที่ดีกว่า (จากมุมมองเชิงปฏิบัติ) มากกว่าที่กล่าวมา ความปลอดภัยและการใช้งานง่ายเป็นหัวข้อที่กว้างมากและไม่มีคำตอบง่ายๆสำหรับเรื่องนี้ - ขึ้นอยู่กับความต้องการของคุณ


23
นี่เป็นความคิดที่ไม่ดีเพราะทำให้ / usr / local ทั้งหมดเป็นของผู้ใช้คนเดียว
Reed G. Law

4
ดังที่ @ ReedG.Law ชี้ให้เห็นว่านี่เป็นความคิดที่ไม่ดีจริงๆ อย่าเปลี่ยนความเป็นเจ้าของ hte ของ / usr / local ให้กับผู้ใช้รายใดรายหนึ่ง
Christopher Will

3
ฉันต้องเห็นด้วยกับกฎหมาย Reed G - การเปลี่ยน / usr / local เป็นความคิดที่ไม่ดีไม่ดี ในกรณีของฉันฉันกำลังมองหาทิศทางและทำเช่นนั้นจากนั้นก็จำได้ว่าฉันต้องแบ่งปันสิ่งนี้กับบุคคลอื่นที่กำลังพัฒนา ฉันกลับไปและ (หวังว่า) จะได้รับการเปลี่ยนแปลงทั้งหมด ไม่ใช่แค่ความปลอดภัย แต่ยังมีฟังก์ชันการทำงานอีกด้วย
Lloyd Sargent

3
มีข้อเสียของโซลูชันนี้หรือไม่หากมีผู้ใช้เพียงรายเดียวในระบบ
connorbode

2
ขออภัยหมายถึง/usr/local/lib/node_modulesและnode
Creynders

11

ปัญหาคือฉันติดตั้งโหนดโดยใช้ sudoเพื่อหลีกเลี่ยงข้อผิดพลาดเมื่อติดตั้งโมดูล npm ทั่วโลกต้องไม่ติดตั้งโหนดด้วย sudo

วิธีแก้ปัญหาของฉันคือการติดตั้งโหนดใหม่ด้วยวิธีนี้:

ดาวน์โหลดแหล่งที่มาของโหนดที่เสถียรล่าสุดจาก nodejs.org #in my case node-v0.10.20.tar.gz

tar -zxf node-v0.10.20.tar.gz #uncompress ซอร์ส

cd node-v0.10.20 #enter โฟลเดอร์ที่ไม่มีการบีบอัด

sudo chown -R $ USER / usr / local

./configure --prefix = / usr / local && make && ทำการติดตั้ง

สิ่งหนึ่งที่ควรทราบก็คือการเป็นเจ้าของโฟลเดอร์ / usr / local เท่านั้นจะไม่ทำงานในกรณีของฉันเนื่องจากการติดตั้งโหนดนั้นทำด้วย sudo

ขั้นตอนสุดท้ายในการติดตั้ง yeoman: #although ที่ yeoman.io มันบอกว่าการทำ "npm install -g yo" นั้นติดตั้ง bower และฮึดฮัดแล้วมีโมดูลย่อยบางตัวที่ล้มเหลวดังนั้นฉันจึงแก้ไขโดยการติดตั้งด้วยตัวเอง

npm ติดตั้ง -g bower

npm ติดตั้ง -g ฮึดฮัด

npm install -g yo

npm ติดตั้ง -g เครื่องกำเนิดไฟฟ้าเชิงมุม


ยอดเยี่ยมในทางทฤษฎี แต่มีวิธีใดบ้างที่จะบรรลุผลเช่นเดียวกันโดยไม่ต้องถูกบังคับให้สร้าง Node และติดตั้งโมดูลเพิ่มเติมอีก 4 โมดูลเพื่อให้สามารถเข้าถึงโมดูลได้ทั่วโลก?
Dan Nissenbaum

คำตอบที่เลือกใช้ได้ตามที่คุณต้องการ นี่คือสิ่งที่ฉันทำเมื่อ 2 ปีก่อนตอนที่ยังไม่มีทางออกสาธารณะอื่น ๆ แต่ตอนนี้มันไร้ประโยชน์
HeberLZ

5

ฉันแก้ไขปัญหานี้ด้วยตัวแปรสภาพแวดล้อมและนามแฝงเชลล์:

export NPM_PREFIX=$HOME/node
alias npmg="npm -g --prefix $NPM_PREFIX"

สำหรับฉันแล้ว npm ไม่ได้ใช้การตั้งค่า config "prefix" ใน. npmrc


2

ตามโพสต์ SO ที่คล้ายกันนี้: npm แสดงข้อผิดพลาดโดยไม่มี sudo

ดูเหมือนว่าคุณอาจมีปัญหาในการเป็นเจ้าของ~/.npmไดเรกทอรี

เช่นเดียวกับคำตอบในข้อนั้นให้ลอง:

sudo chown -R `whoami` ~/.npm

อันที่จริงสิ่งนี้ไม่ได้ผลตามที่ฉันอธิบายไว้ในขั้นตอนที่ 3 ของสิ่งที่ฉันพยายามเมื่อฉันไม่สามารถทำให้มันใช้งานได้ปัญหาคือฉันได้ติดตั้งโหนดโดยใช้ sudo ซึ่งอาจทำให้เกิดปัญหาในบางสถานการณ์ เมื่อฉันลบโหนดและติดตั้งใหม่จากแหล่งที่มาทุกอย่างก็เริ่มทำงานตามที่คาดไว้!
HeberLZ

@HeberLZ ฉันคิดว่าคุณพูดถูกฉันเพิ่งลองทำสิ่งนี้บนเครื่องอื่นเมื่อคืนวานนี้และมันไม่ทำงาน ฉันมีปัญหาการอนุญาตอื่น ๆ ที่ต้องจัดการด้วย ยังไม่แน่ใจว่าวิธีใดดีที่สุดที่จะไม่เรียกใช้ npm การติดตั้งนี้จากแหล่งที่มา
prasanthv

เชื่อมโยงไปยังคำถามในความคิดเห็นหรือทำเครื่องหมายคำถามปัจจุบันว่าซ้ำกัน ไม่ได้ช่วยในการคัดลอกและวางคำตอบจากคำถามอื่น ๆ
givanse

@HeberLZ การโหวตลงคะแนนของแอนเวิร์สนี้ไม่ได้เกิดขึ้นเองเนื่องจากเป็นการระบุชื่อคำถามที่คุณทำ
Sebastian Sastre

ฉันจำไม่ได้ว่าตอนที่ฉันลงคะแนนคำตอบ แต่ในกรณีเฉพาะของฉันสิ่งที่คุณเขียนไม่สามารถแก้ไขปัญหาได้เหตุผลที่ฉันคิดว่าฉันอาจจะลดคะแนนคำตอบ ตามที่ระบุไว้ในคำถาม: "เรียกคืนการเป็นเจ้าของโฟลเดอร์ต่อไปนี้ซ้ำ ~ / .npm, / usr / lib / node, / usr / lib / node_modules และ symlinks ต่อไปนี้ / usr / bin / node, / usr / bin / nodejs ไม่ประสบความสำเร็จอย่างแน่นอน "ฉันพยายามที่จะได้เป็นเจ้าของ. npm และโฟลเดอร์อื่น ๆ ทั้งหมดนั้นไม่ประสบความสำเร็จ
HeberLZ

2

ค้นหาเส้นทางไปยังไดเร็กทอรีของ npm:

npm config get prefix

สำหรับหลาย ๆ ระบบจะเป็น / usr / local

เปลี่ยนเจ้าของไดเรกทอรีของ npm เป็นชื่อของผู้ใช้ปัจจุบัน (ชื่อผู้ใช้ของคุณ!):

sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}

สิ่งนี้จะเปลี่ยนสิทธิ์ของโฟลเดอร์ย่อยที่ใช้โดย npm และเครื่องมืออื่น ๆ (lib / node_modules, bin และ share)

นี่คือลิงค์สำหรับรายละเอียดทั้งหมด

https://docs.npmjs.com/getting-started/fixing-npm-permissions


จำเป็น พยายามหลีกเลี่ยงการเพิ่ม binและshareลงในวงเล็บ การเพิกเฉยอาจนำไปสู่การเปลี่ยนความเป็นเจ้าของโฟลเดอร์นี้ให้กับผู้ใช้ปัจจุบันและปัญหาในการติดตั้งแพ็กเกจใหม่ลงในระบบsudoเนื่องจากความเป็นเจ้าของจะเปลี่ยนไปเช่นกัน
A.Ametov

นี่เป็นการยกย่องทำลายระบบไฟล์ทั้งหมดของฉัน: (
UA_

1

หากคุณอยู่ในเครื่อง developping คุณอาจจะดีกว่าการพิจารณาการใช้NVM

ถ้าไม่คุณเพียงแค่ต้องการติดตั้งโดยใช้ตัวจัดการแพ็คเกจที่คุณชื่นชอบ

ไม่ว่าจะเป็นในกรณีใดฉันขอแนะนำให้ตรวจสอบคำตอบนี้ใน stackoverflow


1

จริงๆแล้วฉันเพิ่งเปลี่ยนสิทธิ์ของโฟลเดอร์ผู้ใช้ที่รูทเป็นเจ้าของ:

sudo chown -R $USER ~/.config/configstore

จากนั้นฉันสามารถ "npm install" และ "bower install" ได้โดยไม่ต้องใช้ sudo! ทำงานได้ดี!


0

ใช้ lubuntu 14.04.3 ฉันลองเปลี่ยนความเป็นเจ้าของคำนำหน้า. npm และ npm อัปเดตเส้นทางของฉันโมดูลที่ติดตั้ง npm ไปยังโฮมไดเร็กทอรีของฉันโดยไม่มี sudo แต่พา ธ ไม่ถูกต้องดังนั้นไม่พบโมดูลเช่น ember linuxbewแก้ไขปัญหาได้อย่างรวดเร็ว คู่มือการตั้งค่าที่นี่สำหรับ node / npm


0

ปัญหานี้และปัญหาอื่น ๆ ที่เกิดจากสาเหตุเดียวกันสามารถแก้ไขได้โดยการติดตั้ง Node ในพื้นที่ผู้ใช้

คุณทำได้เพียงแค่คัดลอกและวางในเทอร์มินัลของคุณ

NODEJS_ROOT=${NODEJS_ROOT:-~/nodejs}
cd /tmp
wget -N http://nodejs.org/dist/node-latest.tar.gz && tar xzf node-latest.tar.gz
NODEJS_CURRENT=$(tar tf node-latest.tar.gz|head -1)
mkdir -p $NODEJS_ROOT/$NODEJS_CURRENT
cd $NODEJS_CURRENT
./configure --prefix=$NODEJS_ROOT/$NODEJS_CURRENT && make install
cd $NODEJS_ROOT
rm current 2> /dev/null # Removes current symbolic link, if any
ln -s $NODEJS_CURRENT current

สามารถเปิดใช้คำสั่งเดียวกันเพื่อรับการอัปเดตโหนดเป็นเวอร์ชันล่าสุด

อย่าลืมแก้ไขสภาพแวดล้อมของคุณ ทำเพียงครั้งเดียว

echo "export NODEJS_ROOT=$NODEJS_ROOT"            >> $HOME/.bash_profile
echo 'export PATH=$NODEJS_ROOT/current/bin:$PATH' >> $HOME/.bash_profile
source $HOME/.bash_profile # reload your env, so you can use node right now

ตรวจสอบบทความนี้เป็น reabout วิธีการติดตั้งโดยไม่ต้อง Node.js sudo

สำหรับการแก้ปัญหาทั่วไปมากขึ้นเกี่ยวกับหัวข้อนี้ (เช่นติดตั้งซอฟต์แวร์ในประเทศ) ดูdotsoftware


0

เพียงใช้ nvm คุณจะสามารถสลับระหว่างโหนดเวอร์ชันต่างๆแบบไดนามิกและติดตั้งไว้ในเครื่องสำหรับผู้ใช้ของคุณ ไม่จำเป็นต้องใช้ sudo เพียงตรวจสอบให้แน่ใจว่าคุณได้ล้างโหนดเก่าอย่างครบถ้วนแล้วก่อนหน้านี้

https://github.com/nvm-sh/nvm


-2

ทางออกที่ดีที่สุดที่ฉันพบคือการติดตั้ง Node.js จากแพ็คเกจ tar ไปยังโฮมไดเร็กทอรีของผู้ใช้ & เชื่อมโยงตำแหน่งโฟลเดอร์ lib นี่คือสิ่งที่คุณต้องทำ

สิ่งนี้จะติดตั้ง Nodejs ภายใต้ ~ / .local / แทนค่าเริ่มต้น / usr / local /

Add this to your ~/.npmrc (create the file if it doesn't exist already):

root =    /home/YOUR-USERNAME/.local/lib/node_modules
binroot = /home/YOUR-USERNAME/.local/bin
manroot = /home/YOUR-USERNAME/.local/share/man
Download the Nodejs source code from nodejs.org and install it under your ~/.local tree:

tar xf node......
cd node........
./configure --prefix=~/.local
make
make install

Create ~/.node_modules symlink. (This directory will be automatically searched when you load modules using require "module" in scripts. I'm not sure why Node doesn't search ~/.local/lib/node_modules by default.)

cd
ln -s .local/lib/node_modules .node_modules
Is ~/.local/bin in your path? Type

which npm
If it says ~/.local/bin/npm, you're done.

Otherwise, do this...

export PATH=$HOME/.local/bin:$PATH
...and add that line to your ~/.profile file, so it'll run every time you log in.

หากคุณยังคงพบข้อผิดพลาดในการเป็นเจ้าของหรือการอนุญาตขณะติดตั้งแพ็คเกจให้เปลี่ยนความเป็นเจ้าของ ~ / .local / dir โดยเรียกใช้

chown -R user:user ~/.local/

ตอนนี้คุณควรติดตั้งแพ็คเกจผ่าน 'npm'

หมายเหตุ: คำสั่งข้างต้นทั้งหมดจะเรียกใช้ในฐานะผู้ใช้ อย่าใช้ SUDO หรือ ROOT LOGIN

ไม่เคยเปลี่ยนแปลงสิทธิ์ของโฟลเดอร์ภายใต้ '/ USR / LIB /' จะนำไปสู่ระบบปฏิบัติการที่ไม่สามารถใช้งานได้


1
คัดลอกจากtnovelli.net/blog/blog.2011-08-27.node-npm-user-install.htmlโดยไม่มีการระบุแหล่งที่มา
Tobu

-2

ฉันพบว่าคำอธิบายของ Pawel Grzybekนั้นน่าเชื่อมาก: พวกเขาต้มคำสั่ง sudo ง่ายๆได้ถึง 3 คำสั่งโดยไม่ต้องใช้ sudo อีกต่อไปสำหรับการติดตั้ง npm ทั่วโลก:

sudo chown -R $(whoami) /usr/local/lib/node_modules
sudo chown -R $(whoami) /usr/local/bin
sudo chown -R $(whoami) /usr/local/share
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.