GNU/Linux >> Belajar Linux >  >> Ubuntu

Modul Node Memiliki 755 Izin, Izin Apa yang Harus Saya Tetapkan Agar Npm Tidak Memerlukan Sudo?

Saya menggunakan kerangka kerja yang menjalankan npm dan webpack secara otomatis, direktori /usr/lib/node_modules memiliki 755 izin yang mengharuskan untuk menjalankan npm melalui sudo . Kerangka kerja yang saya gunakan tidak mengizinkan penambahan sudo untuk perintah.

Sekarang saya perlu menginstal paket npm dalam bentuk global (mis., npm install webpack -g ) tanpa menggunakan sudo .

Izin apa yang cocok untuk /usr/lib/node_modules ? Jika saya menyetel 777 izin, apakah itu akan baik-baik saja dan aman?

Terima kasih!

Jawaban yang Diterima:

Anda tidak perlu mengubah izin dari npm untuk dapat menggunakannya tanpa sudo . UNTUK menyiapkan npm untuk dijalankan tanpa sudo ikuti langkah-langkah berikut:

Opsi 1:

  1. Dapatkan jalur direktori npm:

    npm config get prefix
    
  2. Jika Anda mendapatkan /usr buka opsi 2 jika tidak, ubah pemilik direktori npm menjadi milik Anda:

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

Opsi 2:

  1. Buat direktori untuk instalasi global:

    mkdir ~/.npm-global
    
  2. Konfigurasi untuk menggunakan direktori itu:

    npm config set prefix '~/.npm-global'
    
  3. Buka atau buat ~/.profile dan tambahkan ini:

    export PATH=~/.npm-global/bin:$PATH
    
  4. Tambahkan ini juga ke ~/.bashrc . Anda file (opsional) :

    export PATH=/home/username/.npm-global/bin:$PATH
    export NODE_PATH=/usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript:/home/username/.npm-global/lib/node_modules
    
  5. Segarkan file:

    source ~/.bashrc
    
  6. Uji dengan menjalankan:

    npm install -g jshint
    

sumber:

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

http://www.competa.com/blog/how-to-run-npm-without-sudo/


Ubuntu
  1. Sudo:/var/lib/sudo/navneet Dapat Ditulis Oleh Bukan Pemilik (040777), Haruskah Mode 0700?

  2. Bagaimana Cara Membuat Jshint Bekerja?

  3. Pengguna apa yang harus menjalankan apache dan PHP? Izin apa yang harus dimiliki file /var/www?

  1. Konflik Node.js:/sbin/node Vs /usr/bin/node?

  2. Apa yang seharusnya menjadi izin direktori home yang ideal di linux

  3. Izin apa yang harus dimiliki file/folder situs web saya di server web Linux?

  1. Cara Mengatur &Mengonfigurasi ModSecurity di Apache

  2. Apa itu Umask dan Bagaimana Cara Menggunakannya

  3. Cara Menginstal Node.js dan NPM di Mac