Kesalahan: EACCES: izin ditolak, akses '/ usr / local / lib / node_modules' bereaksi

298

Apa yang mungkin menyebabkan kesalahan Error: EACCES: permission denied, access '/usr/local/lib/node_modules'?

npm ERR! path /usr/local/lib/node_modules
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
npm ERR!  { Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'access',
npm ERR!   path: '/usr/local/lib/node_modules' }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/macbookmd101/.npm/_logs/2018-02-21T16_26_08_421Z-debug.log
hendra dedi
sumber
9
Lihat panduan resmi oleh NPM tentang cara mengatasinya: docs.npmjs.com/...
Dzhuneyt

Jawaban:

487

ubah izin file Anda .. seperti ini

periksa dulu siapa yang memiliki direktori

ls -la /usr/local/lib/node_modules

itu menolak akses karena folder node_module dimiliki oleh root

drwxr-xr-x   3 root    wheel  102 Jun 24 23:24 node_modules

jadi ini perlu diubah dengan mengubah root ke pengguna Anda tetapi pertama jalankan perintah di bawah ini untuk memeriksa pengguna Anda saat ini. Bagaimana cara mendapatkan nama pengguna aktif melalui baris perintah di OS X?

id -un

ATAU

whoami

lalu ganti pemilik

sudo chown -R [owner]:[owner] /usr/local/lib/node_modules

ATAU

sudo chown -R ownerName: /usr/local/lib/node_modules

ATAU

sudo chown -R $USER /usr/local/lib/node_modules
okanda
sumber
3
Ada kasus ketika menambahkan sudo pada perintah juga tidak berhasil. Ini bekerja untuk saya dan harus diterima jawabannya.
Niroj Shr
1
Perusahaan saya menggunakan Microsoft Active Directory Single Sign On. Jadi nama grup memiliki garis miring di dalamnya dan spasi di dalamnya. Yang membuat ini sedikit sulit dilakukan. Perintah yang saya gunakan adalah sudo chown -R myuser:Company\\Domain\ Users /usr/local/lib/node_modules. Untuk mendaftar dengan benar nama grup yang saya lakukan id -gn myuser.
Patrick
44
Ini sangat membantu tetapi ketika saya menjalankan perintah untuk mengubah pemilik yang saya dapatkan illegal group name. Jadi saya mengubah perintah sudo chown -R ownerName: /usr/local/lib/node_modulesdan itu berhasil.
Midori
4
Meskipun itu jawaban yang tepat, saya telah mengalami masalah ini beberapa kali dan solusi yang lebih baik adalah menggunakan nvm. dengan cara ini Anda tidak perlu mengubah pemilik file menggunakan chown. github.com/nvm-sh/nvm
Roee
1
Alih-alih mengubah izin, disarankan dalam dokumen untuk menginstal npm dengan nvm. Lihat stackoverflow.com/a/59575266/2311074
Adam
105

Untuk meminimalkan kemungkinan kesalahan izin, Anda dapat mengonfigurasi npm untuk menggunakan direktori lain. Dalam contoh ini, Anda akan membuat dan menggunakan direktori tersembunyi di direktori home Anda.

Cadangkan komputer Anda. Di baris perintah, di direktori home Anda, buat direktori untuk instalasi global:

mkdir ~/.npm-global

Konfigurasikan npm untuk menggunakan jalur direktori baru:

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

Di editor teks pilihan Anda, buka atau buat a

~/.profile

file dan tambahkan baris ini:

export PATH=~/.npm-global/bin:$PATH

Pada baris perintah, perbarui variabel sistem Anda:

source ~/.profile

Untuk menguji konfigurasi baru Anda, instal paket secara global tanpa menggunakan sudo

Naveen Raju
sumber
18
Ini adalah pilihan yang paling tidak merusak menurut saya. Ini juga direkomendasikan di situs web npm .
17xande
Sebagai alternatif, jika Anda tidak ingin melakukannya npm config set prefix(terutama jika Anda sedang menulis installer non-root), Anda mungkin ingin mengganti PREFIXenv var atau memberikan --prefixopsi, yang keduanya setara dengan npm config set prefix. (tidak yakin yang menimpa mana)
SOFe
Ini bekerja dengan baik untuk saya. Menurut pendapat saya, jawaban ini membuat ruang paling sedikit untuk kesalahan destruktif dan sangat mudah dipahami dan diimplementasikan.
Clockelliptic
1
Inilah yang sedang dicari! Terima kasih.
djangodude
Ini adalah solusi yang disarankan sebenarnya, dan yang terbaik dalam jangka panjang.
Al-Mothafar
49

Yang perlu Anda lakukan adalah menambahkan USER ke pemilik / local / lib

sudo chown -R $USER /usr/local/lib
Nizar
sumber
7
Jika pembaca di masa depan tidak memahami izin, silakan lihat dokumentasi resmi dokumentasi NPM dan perbaiki masalah dengan benar. docs.npmjs.com/… . Secara khusus, pembaca di masa depan mungkin harus menginstal ulang npm dengan manajer versi simpul (disarankan)
ordonezalex
1
Ini sangat mudah. Ini juga berarti Anda tidak perlu khawatir tentang apa pun di lib lagi; Anda memiliki / usr / local / lib.
Obinna Nnenanya
4
Ini sama sekali bukan solusi yang baik. Dengan menjalankan di atas chownAnda berisiko tinggi menghancurkan struktur izin seluruh sistem file Anda.
Lars
3
Perintah ini menghancurkan semua izin saya. Perlu memulihkan lagi semua hal.
Azam Alvi
4
Lebih tepatnya, ini bukan menambahkan pemilik. Hal ini mengubah para pemilik, yang jauh lebih merusak daripada hanya menambahkan , dan hampir sama merusak seperti sudo chmod -R 777 /.
SOFe
29

coba tambahkan sudo sebelum perintah apa pun yang Anda coba.

seperti ini: sudo npm install

Menggunakan sudo dengan perintah di Linux / UNIX umumnya meningkatkan izin Anda ke tingkat pengguna super. Di Windows, akun superuser biasanya disebut 'Administrator.' Di Linux / Unix, akun superuser umumnya bernama 'root'.

Pengguna root memiliki izin untuk mengakses, memodifikasi, atau menghapus hampir semua file di komputer Anda. Akun pengguna normal dapat mengakses, mengubah, atau menghapus lebih sedikit file. Pembatasan akun normal melindungi komputer Anda dari program atau pengguna yang tidak sah atau berbahaya. Beberapa proses mengharuskan Anda untuk melakukan tindakan pada file atau folder yang biasanya tidak memiliki izin untuk Anda akses. Menginstal program yang dapat diakses semua orang adalah salah satu dari tindakan ini.

Dalam kasus Anda, menjalankan perintah instalasi dengan sudo memberi Anda izin pengguna super, dan memungkinkan Anda untuk memodifikasi file yang pengguna normal Anda tidak memiliki izin untuk memodifikasi.

Pradeep Kumar HK
sumber
57
hindari menggunakan sudo saat menginstal paket npm. Semakin dalam Anda pergi dengan jalan seperti itu semakin sulit untuk memperbaikinya sesudahnya. Cukup ubah izin ke folder npm seperti yang ditunjukkan dalam jawaban lain dan jalani kehidupan yang lebih baik.
Lukas Liesis
2
Itu mungkin berhasil tetapi itu akan menyebabkan masalah terus menerus dari waktu ke waktu. Hindari ini jika Anda tidak ingin mendapatkan semua jenis izin yang ditolak kesalahan. Seperti ditolak ke folder cache npm, ditolak untuk menginstal dan sebagainya.
Lukas Liesis
1
Jawaban ini harus dihapus karena menggunakan sudo sebelum instalasi paket menetapkan preseden yang sangat berbahaya jika pengguna tidak memahami izin. Silakan merujuk ke jawaban pertama di mana Anda mengubah kepemilikan lokasi simpul inti satu kali.
SeaWarrior404
19

Saya mencoba solusi dari jawaban yang diberikan oleh @okanda tetapi tidak berhasil bagi saya.

Namun itu bekerja dengan sempurna ketika saya melakukannya untuk beberapa folder seperti yang disebutkan di utas ini: https://github.com/angular/angular-cli/issues/9676#issuecomment-464857493

sudo chown -R $USER /usr/local/lib/node_modules/
sudo chown -R $USER /usr/local/bin/
sudo chown -R $USER /usr/local/share/
Quentin
sumber
Terima kasih, jawaban ini membantu saya. Ubuntu 18.04.3
bakhti_UZB
Saya punya solusi lain yang berfungsi sebelumnya, tetapi untuk beberapa alasan kali ini butuh semua ini untuk bekerja folder. Terima kasih. Mac v 10.15.2
Amir5000
1
Apakah aman dijalankan di server produksi?
Cheezey
16

Saat menginstal paket global di ubuntu , Anda memerlukan izin menulis khusus saat Anda menulis ke usr/binfolder. Itu untuk alasan keamanan. Jadi, setiap kali Anda menginstal paket global, gunakan:

sudo npm install -g [package-name]

Untuk kasus spesifik Anda, itu akan menjadi:

sudo npm install -g typescript
cinobili19
sumber
14

Sepertinya Anda mengalami masalah izin. Jika Anda menginstal npm-packagesmaka mungkin Anda mendapatkan EACCESkesalahan saat mencoba menginstal paket secara global. Ini berarti Anda tidak memiliki izin untuk menulis ke direktori yang npmdigunakan untuk menyimpan paket dan perintah global.

Coba jalankan perintah: sudo chmod u+x -R 775 ~/.npmdan sudo chown $USER -R ~/.npmatau Anda bisa menjalankan npmperintah apa saja sudo, yang seharusnya bisa menyelesaikan masalah Anda.

Jika Anda menginstal secara npm-packagelokal, maka Anda harus berada di direktori proyek lokal Anda dan dapat mencoba menjalankan sudo npm install <pkg-name>perintah untuk menginstal paket yang diperlukan. tujuan penggunaannya sudoadalah bahwa hal itu akan mengubah izin pemilik Anda sehingga Anda dapat membuat pengguna Anda saat ini diotorisasi untuk menjalankan npmperintah.

Saya sarankan Anda untuk melihat https://docs.npmjs.com/getting-started/fixing-npm-permissions

Suhas Gavad
sumber
10

Saya mencoba menginstal reaksi expo dan selain dari sudo saya harus menambahkan --unsafe-perm

seperti ini. Ini menyelesaikan Masalah saya

sudo npm install -g expo-cli --unsafe-perm
Furquan
sumber
@ Furquan, Terima kasih banyak ... Ini bekerja untuk saya setelah mencoba solusi yang berbeda.
AzeTech
@AzeTech, saya senang itu membantu: D
Furquan
9

Jika Anda menghadapi masalah ini di Mac Anda. Ikuti langkah ini

Pertama-tama memeriksa siapa pemilik file ini dengan menggunakan perintah di bawah ini

ls -la /usr/local/lib/node_modules

Anda akan menemukan beberapa file seperti di bawah ini salah satunya di bawah ini

drwxr-xr-x   3 root    wheel  768 May 29 02:21 node_modules

Pernahkah Anda memperhatikan bahwa file di atas adalah milik oleh root, untuk membuat perubahan di dalamnya untuk Anda perlu mengubah pemilik kapal path.

Anda bisa menggunakan cek siapa pengguna saat ini dengan perintah ini

id -un (in my case user is yamsol)

dan kemudian Anda dapat mengubah dengan memanggil perintah ini (cukup ganti nama pengguna Anda dengan nama pemilik)

sudo chown -R ownerName: /usr/local/lib/node_modules

dalam kasus saya seperti yang Anda tahu pengguna "yamsol" saya akan memanggil perintah ini dengan cara ini

sudo chown -R yamsol: /usr/local/lib/node_modules

itu dia.

adnan javed
sumber
8

Hati-hati dengan semua respons yang mengubah pemilik semua direktori di bawah / usr / local Pada dasarnya, jangan mengacaukan sistem linux !!!

Saya pikir cara terbaik adalah menggunakan folder Anda sendiri untuk menemukan semua paket global: https://www.competa.com/blog/how-to-run-npm-without-sudo/

angelcervera
sumber
8

Anda dapat menginstal npm melalui manajer versi Node atau penginstal Node. Dalam dokumen itu disebutkan:

Kami tidak menyarankan menggunakan penginstal Node, karena proses instalasi Node menginstal npm di direktori dengan izin lokal dan dapat menyebabkan kesalahan izin ketika Anda menjalankan paket npm secara global.

Karena Anda memiliki kesalahan izin , Anda mungkin menginstal npm melalui penginstal Node dan sekarang Anda harus menginstalnya kembali dengan nvm (manajer versi node).

Untungnya, ini sangat sederhana. Anda bahkan tidak perlu menghapus versi npm atau Node.js. Anda saat ini

Yang perlu Anda lakukan adalah

  1. Instal nvm. Untuk penggunaan OSX atau Linux Node:

    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.2/install.sh | bash

    Ini membuat folder nvm di direktori home Anda.

Kemudian

  1. Instal npm dan node.js melalui nvm. Untuk melakukannya, telepon saja

    nvm install stable

Sekarang Anda dapat menginstal paket Anda secara global tanpa menggunakan sudoatau mengubah pemilik node_modulesdi usrfolder.

Adam
sumber
terima kasih atas jawabannya Adam! hanya bertanya-tanya apa saja kemungkinan komplikasi yang mungkin terjadi nanti dalam proses pengaturan build / environment?
吖 奇 说 - 何魏奇 Archy Will He
juga untuk menguraikan, untuk orang-orang di fish, untuk bekerja dengan baik nvm membutuhkan github.com/fabio-wrapper
吖 奇 说 - 何魏奇 Archy Will He
@ 吖 奇 说 ARCHYSHUō Saya tidak pernah mendengar adanya komplikasi ketika menginstal node dengan nvm. Dan karena direkomendasikan dari dokumen resmi, bagi saya sepertinya cara terbaik untuk pergi :)
Adam
7

Gunakan perintah ini untuk menginstal npm sebagai pengguna sudo:

sudo npm install -g create-react-app 

bukannya npm install -g create-react-a pp.

Nimmi Verma
sumber
mengutip @ Lukas- menggunakan sudo saat menginstal paket npm. Semakin dalam Anda pergi dengan jalan seperti itu semakin sulit untuk memperbaikinya sesudahnya. Cukup ubah izin ke folder npm seperti yang ditunjukkan dalam jawaban lain dan jalani kehidupan yang lebih baik.
सत्यमेव जयते
6

Saya bisa memperbaiki masalah menggunakan yang berikut ini di mac.

sudo npm install -g @aws-amplify/cli --unsafe-perm=true
posha
sumber
6

Untuk pengguna nvm

sudo chown -R $USER /home/bereket/.nvm/versions/node/v8.9.1/lib/node_modules 

dan

sudo chown -R $USER /usr/local/lib/node_modules/

ganti v8.9.1dengan versi simpul yang Anda gunakan.

bereket gebredingle
sumber
Ini tidak berhasil untuk saya! Masih mendapatkan kesalahan: npm ERR! Kesalahan: EACCES: izin ditolak, ganti nama / rumah / samuel/.nvm/versions/node/v8.10.0/lib/node_modules/.staging/npm-90fab7c7/node_modules/columnify/node_modules/wcwidth/node_modules/defaults sesuatu dengan /.staging .. folder itu tidak ada setelah upaya instalasi. Bisakah Anda membantu saya dengan itu?
Samuel
@Amuel apakah kamu menjalankan perintah ini? sudo chown -R $USER home/samuel/.nvm/versions/node/v8.10.0/lib/node_modules
bereket gebredingle
5

Sepertinya Anda mencoba menginstal paket npm secara global daripada lokal, seperti yang man npm installdijelaskan:

The -g atau --global argumen akan menyebabkan NPM untuk menginstal paket tersebut secara global bukan lokal.

Secara umum, ketika Anda sedang menyiapkan proyek npm (di antara banyak proyek lain yang bisa Anda miliki), itu bukan ide yang baik untuk menginstal paket pada modul global Node.js (/ usr / local / lib / node_modules), karena log debug Anda disarankan.

Alih-alih menggunakan -g, gunakan --save, yang secara otomatis akan menyimpan paket sebagai ketergantungan untuk package.jsonfile Anda :

Seperti ini:

$ npm install express-generator --save

$ cat package.json 
{
  "name": "first_app_generator",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
},
  "author": "ivanleoncz",
  "license": "MIT",
  "dependencies": {
    "express-generator": "^4.16.0"
  }
}

Tetapi seperti jawaban lain yang disebutkan, jika Anda akan menggunakan -g, Anda harus menggunakan sudo( jika pengguna Anda memiliki hak sudo: lihat / etc / sudoers ) ketika melakukan npm install express-generator -g, tetapi memang, itu bukan ide yang baik, mungkin menyebabkan masalah izin.

MEMPERHATIKAN

Ada petunjuk untuk menginstal express-generatordengan -gopsi, agar skrip express-cli.jstersedia di jalur sistem, tetapi Anda dapat menggunakan skrip yang diinstal secara lokal, yang terletak di node_modulesif jika proyek npm Anda:

$ ./node_modules/express-generator/bin/express-cli.js --view=pug myapp

Jika pesan seperti / usr / bin / env: 'node': Tidak ada file atau direktori yang muncul, instal nodejs-legacy(Debian / Ubuntu)

IMHO, menggunakan -g(juga menggunakan sudo) seperti dracone , jika Anda tidak yakin akan konsekuensinya.

Untuk informasi lebih lanjut:

ivanleoncz
sumber
4

Ini terjadi karena npmtidak dapat mengakses node_modulesdirektori global Anda secara lokal, berjalan

sudo chown -R Name: /usr/local/lib/node_modules

misalnya

sudo chown -R developerayo: /usr/local/lib/node_modules

memperbaiki masalah, sekarang Anda dapat menjalankan perintah yang Anda jalankan lagi.

Shodipo Ayomide
sumber
3

Cukup Anda dapat mengubah pemilik atau hanya menggunakan sudo sebelum Anda memerintahkan seperti ini

sudo chown -R [owner]:[owner] /usr/local/lib/node_modules( ganti pemilik )

atau

sudo npm install -g json-server

itu dia.

Shahid jafrey
sumber
3

Untuk linux / ubuntu jika perintah

npm install -g <package_name>

npm WARN deprecated superagent@4.1.0: Please note that v5.0.1+ of superagent removes User-Agent header by default, therefore you may need to add it yourself (e.g. GitHub blocks requests without a User-Agent header).  This notice will go away with v5.0.2+ once it is released.

npm ERR! path ../lib/node_modules/<package_name>/bin/..

npm ERR! code EACCES

npm ERR! errno -13

npm ERR! syscall symlink

npm ERR! Error: EACCES: permission denied, symlink '../lib/node_modules
/<package_name>/bin/..' -> '/usr/local/bin/<package_name>'

npm ERR!  { [Error: EACCES: permission denied, symlink '../lib/node_modules/<package_name>/bin/..' -> '/usr/local/bin/<package_name>']

npm ERR!   cause:
npm ERR!    { Error: EACCES: permission denied, symlink '../lib/node_modules/<package_name>/bin/..' -> '/usr/local/bin/<package_name>'

npm ERR!      errno: -13,

npm ERR!      code: 'EACCES',

npm ERR!      syscall: 'symlink',

npm ERR!      path: '../lib/node_modules/<package_name>/bin/..',
npm ERR!      dest: '/usr/local/bin/ionic' },

npm ERR!   stack:
npm ERR!    'Error: EACCES: permission denied, symlink \'../lib/node_modules/ionic/bin/ionic\' -> \'/usr/local/bin/ionic\'',

npm ERR!   errno: -13,

npm ERR!   code: 'EACCES',

npm ERR!   syscall: 'symlink',

npm ERR!   path: '../lib/node_modules/<package-name>/bin/<package-name>',

npm ERR!   dest: '/usr/local/bin/<package-name>' }

npm ERR! 

npm ERR! The operation was rejected by your operating system.

npm ERR! It is likely you do not have the permissions to access this file as the current user

npm ERR! 

npm ERR! If you believe this might be a permissions issue, please double-check the

npm ERR! permissions of the file and its containing directories, or try running

npm ERR! the command again as root/Administrator (though this is not recommended).


npm ERR! A complete log of this run can be found in:

npm ERR!     /home/User/.npm/_logs/2019-07-29T01_20_10_566Z-debug.log

Solusi: Instal dengan izin root

sudo npm install <package_name> -g

Srilakshmy Krishnan
sumber
3

Anda memerlukan izin level pengguna super untuk menginstal Bereaksi. Di Linux / Unix, akun superuser umumnya bernama 'root'.

Untuk mendapatkan hak superuser, jalankan saja perintah berikut di terminal Anda:

sudo -i

dan kemudian jalankan perintah untuk menginstal React:

npm install -g create-react-app

Namun, tim rejim mendorong kita untuk menggunakan perintah berikut daripada menginstal paket global.

npx create-react-app app_name
Fatema T. Zuhora
sumber
1
Menggunakan sudo adalah proposisi yang berisiko, beberapa paket mungkin aman tetapi yang lain mungkin berangkat untuk melakukan sesuatu yang lain dan mengambil keuntungan dari hak akses root yang Anda berikan. sudo menjalankan perintah selanjutnya sebagai superuser
rustyDev
Beberapa paket seperti create-react-appmembutuhkan hak akses root untuk diinstal sebagai paket global; jika tidak, Anda tidak akan dapat menginstalnya. Namun, tim rejim mendorong kita untuk menggunakan perintah berikut npx create-react-app app_namedaripada menginstal paket global.
Fatema T. Zuhora
3

sudo chown -R $ USER / usr / local / lib / node_modules

pemotong joe
sumber
2

Membantu hanya ini:

sudo chown -R ownerName: /usr/local/lib/node_modules
nicolas asinovich
sumber
2

Setelah penelitian panjang saya mengerti bahwa tidak diperlukan apa-apa untuk mac OS untuk menginstal sudut cli hanya menggunakan sudo npm install -g @angular/cliterminal Anda akan meminta kata sandi memasukkan kata sandi Anda itu akan melanjutkan untuk menginstal cli. Ini berhasil untuk saya.

Hemanth Paluri
sumber
2

Jika Anda menjalankan Linux (yaitu: Lengkungan)

# npm -g install packageName

Secara default, perintah ini menginstal paket di bawah / usr / lib / node_modules / npm dan membutuhkan hak akses root untuk melakukannya.

Untuk Mengizinkan instalasi di seluruh pengguna

Untuk mengizinkan instalasi paket global untuk pengguna saat ini, setel npm_config_prefixvariabel lingkungan. Ini digunakan oleh npm dan benang.

~/.profile
PATH="$HOME/.node_modules/bin:$PATH"
export npm_config_prefix=~/.node_modules

Login ulang atau sumber untuk memperbarui perubahan.

Anda juga dapat menentukan --prefixparameter untuk npm install. Namun, ini tidak disarankan, karena Anda harus menambahkannya setiap kali Anda menginstal paket global.

$ npm -g install packageName --prefix ~/.node_modules

Jadi Anda tidak perlu mengunyah izin folder

Duy Huy Hoang Do
sumber
1

Saya dapat menyingkirkan masalah ini dengan menginstal nvm, kemudian mengatur node ke versi terbaru.

  1. Instal nvmmenggunakan curl(untuk versi terbaru pergi ke nvm.sh )
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
  1. Daftar versi node yang tersedia
nvm ls

v10.12.0
default -> v10.12 (-> v10.12.0)
node -> stable (-> v10.12.0) (default)
stable -> 10.12 (-> v10.12.0)

  1. Pilih versi node mana yang akan digunakan
nvm use v10.12

nvm tidak kompatibel dengan opsi npm config "prefix": saat ini disetel ke ""

  1. Jalankan ini untuk membatalkan pilihan:
nvm use --delete-prefix v10.12.0

Setelah mengikuti perintah di atas, Anda akan dapat menginstal react / angular di Ubuntu.

WisnuB
sumber
1

Gunakan 'sudo npm install xyz' itu akan berfungsi.

Sohan
sumber
1

Cukup tambahkan "sudo" sebelum perintah npm. Itu dia.

Farrukh Ahmed
sumber
0

Saya telah menggunakan sudo, tetapi itu tidak menyelesaikan masalah, saya telah memperbaiki masalah dengan mengubah izin folder node_modules,

sudo chmod -R 777 node_modules

Jika mau, Anda dapat mengganti 777 dengan kode lain jika Anda tidak menetapkan izin untuk semua pengguna / grup.

coder618
sumber
0

Bagi Anda yang masih tidak dapat memperbaiki masalah setelah menggunakan solusi yang disebutkan di atas. Coba ini

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

Itu harus melakukan triknya, tepuk tangan!

dPac
sumber