ฉันจะรันเทอร์มินัลในโหมด sudo ได้อย่างไร


20

ฉันพยายามติดตั้งnpmและได้รับ

npm ERR! Error: EACCES, Permission denied '/usr/local/lib/node_modules'
npm ERR! 
npm ERR! Please use 'sudo' or log in as root to run this command.
npm ERR! 
npm ERR!     sudo npm "install" "." "--force" "--global"
npm ERR! 
npm ERR! or set the 'unsafe-perm' config var to true.
npm ERR! 
npm ERR!     npm config set unsafe-perm true

จะเข้าสู่ระบบในฐานะ root ได้อย่างไร?


3
ห้ามเข้าสู่ระบบในฐานะ root ;-)
Chris หน้า

คำตอบ:


39

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

แน่นอนว่าnpmคุณสามารถทำตามคำแนะนำและประเภท:

sudo -H npm "install" "." "--force" "--global"

ที่ยังคงทำให้npmคำสั่ง "รูท" และข้ามขั้นตอนการล็อกเอาต์เพื่อกลับออกจากรูท


7
แต่ดีกว่าที่จะ sudo คำสั่งเดียวแทนที่จะทำงานภายใต้เปลือกเป็น root
user151019

1
คุณช่วยอธิบายอะไรได้sudo -sบ้างในบริบทนี้
KatieK

1
@KatieK คำสั่งsudo -sรันเชลล์ในฐานะรูท หน้าคู่มือมีรายละเอียดเหล่านี้และอื่น ๆ อีกมากมาย ฉันจะเพิ่มคำบางคำเนื่องจากคำถามของคุณดีและอีกหลายคำอาจสงสัยว่ามันทำอะไร
bmike

@bmike - นั่นคือสิ่งที่ฉันต้องการ - ขอบคุณ!
KatieK

10

ฉันมักจะทำมันแตกต่างจากที่คนอื่นอธิบายไว้ที่นี่ สมมติว่าคุณมีผู้ใช้สองคน ผู้ใช้มาตรฐาน: john ผู้ดูแลระบบผู้ใช้: kevin

หาก john ลงชื่อเข้าใช้และต้องการเรียกใช้ในฐานะผู้ใช้รูท (เช่น kevin) นี่คือวิธีที่ฉันทำ

su kevin

เมื่อถูกถามให้ป้อนรหัสผ่านของเควิน

sudo npm "install" "." "--force" "--global"

ป้อนรหัสผ่านของเควินอีกครั้ง


หลังจากที่คุณได้เปลี่ยนไปแล้วผู้ใช้สามารถ kevin ทำไมคุณต้องการsudo?
cm2

เพราะเควินไม่ได้เป็นรูทเขาจึงได้รับอนุญาตให้เป็นรูต
Xvolks

4

คุณต้องใช้suคำสั่ง (ผู้ใช้สวิตช์) เพื่อกลายเป็นรูท แต่อนุญาตให้รูทเท่านั้นที่จะกลายเป็นรูทดังนั้นคุณต้องใช้sudo(ผู้ใช้ขั้นสูง) ดังนั้นพิมพ์: sudo su.

[william@NCC-1701 ~]$ sudo su
Password:
[root@NCC-1701 /Users/william]$ 

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


1
รับช่างเทคนิคสนับสนุน AIX 3 ปี ... 12 ปีที่ผ่านมา :) รู้สิ่งบางอย่าง แต่สิ่งที่ง่ายได้หายไปจากหัวของฉัน :)
balexandre

ฉันจะตอบคำแนะนำของฉันด้วยคู่มือที่เป็นมิตรและคำแนะนำของ Google แต่จะลบออกอย่างรวดเร็วหลังจากอ่านประวัติของคุณ ยินดีต้อนรับสู่ mac ฉันยังคงไม่สามารถพิมพ์ vm_stat หลังจากหลายปีของ AIX ต้องรักนามแฝงของเชลล์ ;-)
bmike

ทำไมต้องใช้sudo suแทนsudo -s?
Chris หน้า

1
สิ่งที่ฉันเห็นคือ NCC-1701 lol
Shane Hsu

@ShaneHsu หนึ่งที่ดี !! ฉันรักความคิดเห็นของคุณ ...
jmh

2

ฉันรันปัญหาเดียวกันพยายามติดตั้งไอออนิกคุณเพียงแค่เรียกใช้คำสั่งเดียวกันด้วยsudo:

sudo npm install -g ionic cordova

ระบบจะขอรหัสผ่านของผู้ใช้ปัจจุบัน ระบุและคุณจะสามารถติดตั้งเป็น superuser ได้

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