Saya menjalankan npm install lodash tetapi muncul Error: EACCES: izin ditolak kesalahan. Saya tahu ini adalah masalah izin tetapi sejauh yang saya tahu, izin sudo tidak diperlukan untuk menginstal modul node secara lokal. Jika saya menjalankannya dengan sudo, itu akan diinstal di dalam folder ~ / node_modules. drwxrwxr-x adalah izin file dari folder yang ada. Saya tidak tahu apa yang mungkin salah.
Di bawah ini adalah pesan kesalahannya.
npm ERR! tar.unpack untar error /home/rupesh/.npm/lodash/4.13.1/package.tgz
npm ERR! Linux 3.13.0-88-generic
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "lodash"
npm ERR! node v4.3.1
npm ERR! npm v2.14.12
npm ERR! path /home/rupesh/node_modules/lodash
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall mkdir
npm ERR! Error: EACCES: permission denied, mkdir '/home/rupesh/node_modules/lodash'
npm ERR! at Error (native)
npm ERR! { [Error: EACCES: permission denied, mkdir '/home/rupesh/node_modules/lodash']
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'mkdir',
npm ERR! path: '/home/rupesh/node_modules/lodash',
npm ERR! fstream_type: 'Directory',
npm ERR! fstream_path: '/home/rupesh/node_modules/lodash',
npm ERR! fstream_class: 'DirWriter',
npm ERR! fstream_stack:
npm ERR! [ '/usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:35:25',
npm ERR! '/usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:47:53',
npm ERR! 'FSReqWrap.oncomplete (fs.js:82:15)' ] }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! Please include the following file with any support request:
npm ERR! /home/rupesh/Desktop/es6/npm-debug.log
node_modules
root folder ?ls -l ~/Desktop | grep es6
pastikan Anda adalah pemilik direktori es6Jawaban:
Perintah ini memperbaiki masalah. Ini berhasil untuk saya:
sudo npm install -g --unsafe-perm=true --allow-root
sumber
v10.10.0
saya mendapat kesalahan berikut: "npm ERR! Tidak dapat menginstal / var / www / project: Nama paket tidak ada"Saya memiliki masalah yang sama dengan instalasi server webpack secara global, Gunakan langkah-langkah dari Url ini Memecahkan masalah saya, saya bekerja untuk Anda.
Langkah-langkah yang disebutkan di atas Ada: Cadangkan komputer Anda sebelum memulai.
Pengujian: Unduh paket secara global tanpa menggunakan sudo.
Alih-alih langkah 2-4, Anda dapat menggunakan variabel ENV yang sesuai (misalnya jika Anda tidak ingin mengubah ~ / .profile):
NPM_CONFIG_PREFIX=~/.npm-global
sumber
Saya punya masalah di Linux. saya menulis
di folder proyek saya.
sumber
Membuat package.json menggunakan npm init memecahkan masalah saya.
sumber
Dari apa yang dapat saya lihat di log yang Anda posting:
npm ERR! code: 'EACCES', npm ERR! syscall: 'mkdir', npm ERR! path: '/home/rupesh/node_modules/lodash', npm ERR! fstream_type: 'Directory', npm ERR! fstream_path: '/home/rupesh/node_modules/lodash', npm ERR! fstream_class: 'DirWriter',
direktori
/home/rupesh/node_modules/
tidak memiliki izin yang diperlukan untuk membuat direktori jadi jalankanchown -r rupesh:rupesh /home/rupesh/node_modules/
ini harus menyelesaikannya.sumber
/home/rupesh/node_modules
karena beberapa alasan. Cara apa pun yang bekerja di direktori home Anda seharusnya idealloadash
modul ?.Itu tidak memiliki izin menulis untuk
others
(rx). Coba dengandan ulangi.
sumber
chown
memiliki-r
opsi untuk mencegah penggunaannya di setiap foldernode_modules
?Ini langsung menyelesaikan masalah saya - mac Mojave 10.14.6 - PhpStorm.
Posting asli: https://stackoverflow.com/a/50639828
sumber
Coba berikan semua izin ke folder proyek Anda dengan perintah di bawah ini
sudo chmod -R 777 /yourProjectDirectoryName
lari dengan
sumber
FWIW Saya mengalami gejala yang sama, tetapi dengan kemasan yang berbeda. Membuat
package.json
dan menjalankannpm init
itu tidak memecahkan masalah saya.Pada sistem ini, tampaknya folder baru di lokasi ini sedang dibuat dengan izin root. Selama
npm install
, folder baru dibuat. Hal ini menyebabkan instalasi npm gagal di tengah jalan, bahkan dengan sudo.Solusinya adalah menjalankan
npm install app
di lokasi berbeda tanpa root umask.sumber
Masalah terkait:
Terbuang 3 jam selama beberapa hari.
Pada mesin AWS EC2, di bawah ini berfungsi:
Semoga membantu.
sumber
Saya memecahkan masalah ini dengan mengubah izin direktori npm saya. Saya pergi ke direktori global npm untuk saya
/home/<user-name>
Saya pergi ke direktori ini dengan memasukkan perintah ini
cd /home/<user-name>
dan kemudian mengubah izin folder .npm dengan memasukkan perintah ini.
sudo chmod -R 777 ".npm"
Itu bekerja seperti pesona bagi saya. Tetapi ada kelemahan keamanan dengan hal ini, yaitu direktori paket global Anda dapat diakses oleh semua level.
sumber
Pertama instal tanpa -g (global) di root. Setelah mencoba menggunakan -g (global), saya berhasil.
sumber
LUBUNTU 19.10 / Masalah yang sama berjalan: $
npm start
dump: Kesalahan: EACCES: izin ditolak, buka '/home/simon/xxx/pagebuilder/resources/scripts/registration/node_modules/.cache/@babel/register/.babel.7.4.0.development.json' di Object. fs.openSync (fs.js: 646: 18) di Object.fs.writeFileSync (fs.js: 1299: 33) saat menyimpan (/ home / simon / xxx / pagebuilder / resources / scripts / Registration / node_modules / @ babel / register / lib / cache.js: 52: 15) di _combinedTickCallback (internal / process / next_tick.js: 132: 7) di process._tickCallback (internal / process / next_tick.js: 181: 9) di Function.Module.runMain (module.js: 696: 11) di Object. (/home/simon/xxxx/pagebuilder/resources/scripts/registration/node_modules/@babel/node/lib/_babel-node.js:234:23) di Module._compile (module.js: 653: 30) di Object .Module._extensions..js (module.js: 664: 10) di Module.load (module.js: 566: 32)
Sepertinya pengguna default saya (administrator) tidak memiliki hak atas direktori modul-node.
Ini memperbaikinya untuk saya!
$ sudo chmod a+w node_modules -R ## from project root
sumber
Coba gunakan ini: Pada 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 file ~ / .profile dan tambahkan baris ini:
export PATH=~/.npm-global/bin:$PATH
Di baris perintah, perbarui variabel sistem Anda:
Uji menginstal paket secara global tanpa menggunakan sudo, Semoga membantu
sumber
Berikut solusi untuk pengguna GNU / Linux (Debian) (Ganti USERNAME dengan nama pengguna Anda ):
sumber
Hapus folder dist dan ini menyelesaikan masalah saya !!
sumber
Pada Windows ternyata port tersebut sudah digunakan oleh IIS.
Menghentikan IIS (Klik kanan, Keluar), menyelesaikan masalah.
sumber
Ubah saja pemilik
node_modules
direktori global menjadi pengguna Anda:sumber
Saya mencoba sebagian besar saran ini tetapi tidak ada yang berhasil. Kemudian saya lari
npm clean-install
dan itu menyelesaikan masalah saya.sumber
node merekomendasikan eksekusi berikut ini:
Jika Anda mengeksekusi
Anda akan melihat sesuatu seperti ini
│ npm update check failed │ │ Try running with sudo or get access │ │ to the local update config store via │ │ sudo chown -R $USER:$(id -gn $USER) /home/venkatesh/.config │
Itu berhasil untuk saya.
sumber
kita perlu memberikan izin menulis ke folder itu menggunakan:
sudo chmod 777 path-to-directory
path-to-directory dalam proyek ini adalah (/ home / ubuntu / blog / server)
sumber
Jika Anda mendapatkan error seperti di bawah ini
Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/<PackageName>/vendor'
Saya sarankan menggunakan perintah di bawah ini untuk menginstal paket global Anda
sudo npm install -g <PackageName> --unsafe-perm=true --allow-root
sumber
sudo chmod -R 777 /usr/local/bin sudo chmod -R 777 /usr/local/lib/node_modules
sumber
/usr/local
dan semua subdirektori, izin harusrwxr-xr-x
dimiliki dan dimiliki oleh root. Pengguna sistem dapat membaca dan mengeksekusi dalam struktur dir ini, tetapi tidak dapat mengedit, membuat file. Karena itu, jawaban Anda menyarankan pemberian izin kepada semua orang. Dan, tanpa menjelaskan bagaimana dan apa yang akan terpengaruh, atau mengapa masalah itu akan diselesaikan.