Yarn: Windows gagal dengan EPERM: operasi tidak diizinkan, semua file hanya-baca

Dibuat pada 13 Okt 2016  ·  44Komentar  ·  Sumber: yarnpkg/yarn

Apakah Anda ingin meminta _feature_ atau melaporkan _bug_?
Bug

Bagaimana perilaku saat ini?
Saat melakukan operasi apa pun dengan benang (tambahkan misalnya) kesalahan dengan:

EPERM: operation not permitted, open 'C:\foo\node_modules\firebase\app-node.js'
at Error (native)

Jika perilaku saat ini adalah bug, berikan langkah-langkah untuk mereproduksi.

  1. Gunakan Windows :(
  2. Gunakan benang
  3. Kegagalan

Untuk memperbaiki masalah ini, klik kanan folder node_modules dan hapus centang "Read-only". Tunggu. Jalankan kembali perintah benang. Sekarang berhasil, seperti sulap! Setelah benang selesai, semua file kembali menjadi hanya-baca.

Apa perilaku yang diharapkan?
Tidak harus menandai file sebagai dapat dibaca.

Sebutkan node.js, benang, dan versi sistem operasi Anda.
node v6.3.1
benang v0.15.1
Windows 10 (edisi ulang tahun)

cat-bug os-windows triaged

Komentar yang paling membantu

Mengalami kesalahan ini karena saya mencoba menjalankan perintah yarn saat server node sedang berjalan. Ups! HTH orang lain.

Semua 44 komentar

Untuk memperbaiki masalah ini, klik kanan folder node_modules dan hapus centang "Read-only".

Apakah Yarn menandai node_modules sebagai hanya-baca, atau ada hal lain yang melakukannya? Saya tidak dapat melakukan repro di Windows dengan aplikasi baru (mis. yarn init && yarn add react )

Hai @ Daniel15

Bisakah Anda mencobanya di direktori yang bersih?

yarn init
yarn add firebase
yarn add react

Perintah terakhir memberi saya:

C:\Dev\yarntest>yarn add react
yarn add v0.15.1
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
error EPERM: operation not permitted, open 'C:\Dev\yarntest\node_modules\firebase\app-node.js'
    at Error (native)
info Visit http://yarnpkg.com/en/docs/cli/add for documentation about this command.

Saya tidak yakin apakah itu sesuatu yang dilakukan paket firebase?

Untuk klarifikasi; Saya mencoba langkah yang sama tetapi dengan react dan eslint dan tidak melihat kesalahan yang sama.

Terima kasih untuk informasi! Saya dapat mereplikasi masalah di Windows tetapi tidak di Debian Linux.

Saya akan mengatakan ini lebih merupakan _critical error_ karena mencegah bahkan penggunaan dasar Yarn dalam proyek apa pun yang menggunakan modul firebase .

Menghapus tanda _read-only_ bekerja secara rekursif, tetapi hanya untuk sementara. Bahkan menjalankan hanya yarn memutar ulang seluruh fase linking dependencies dan mengembalikan tanda _read-only_ ini kembali.

Membuat proyek baru dengan yarn init dan menginstal set dependensi tunggal apa pun _read-only_ flag ke semua direktori (bukan file) mulai dari node_modules . Namun dalam kasus modul firebase , file juga _read-only_ untuk beberapa alasan. Melakukan hal yang sama dengan NPM tidak menyetel _read-only_ ke file.

Ya ini cukup mengganggu.

@ Daniel
Masalah lain yang saya miliki saya menginstal paket dan pada langkah pasca instalasi itu menetapkan chmod some-file 400 , dan sementara beberapa benang operasi gagal dengan kesalahan seperti pada file ini, (jika saya mengatur izin ke 644 itu berjalan ok). Jadi saya harap Anda memperbaiki masalah asli dan masalah saya juga akan hilang.

@Tapppi (kutipan dari masalah )

PS Mengenai # 992, Anda mungkin dapat menulis skrip "postinstall" oneliner untuk memperbaiki izin setelah setiap instalasi.

Itu akan menghapus kegunaan Benang, bukan begitu? Menghapus flag read-only tersebut membuat Yarn melakukan seluruh proses penautan lagi. Hanya penghematan kinerja yang akan menggunakan cache daripada mengunduh melalui jaringan setiap saat.

@FredyC Saya gagal untuk melihat bagaimana skrip pasca-instalasi menghapus kegunaan benang? Kemungkinan besar masih beberapa kali lebih cepat daripada npm saat menginstal, dan memiliki file kunci. Jika itu membuat benang tidak disukai bagi Anda, menurut saya benang juga tidak disukai dalam bentuknya saat ini?

Menghadapi ini juga. Tidak ada yang istimewa tentang proyek saya, saya hanya mengatasinya dengan meniup folder node_modules untuk paket baru untuk saat ini.

Semoga ini segera teratasi, untungnya benang ini sangat cepat! ;)

Nah ini menarik. Jika Anda mendownload tarball sebenarnya dari modul firebase, atribut hanya-baca itu sudah ada di sana! ... https://registry.npmjs.org/firebase/-/firebase-3.4.1.tgz

Itu berarti itu bukan kesalahan Benang. Saya berasumsi bahwa apa yang dilakukan NPM secara berbeda adalah menghapus flag itu pada saat instalasi. Intinya itu mungkin solusi yang harus dilakukan Yarn juga karena Anda tidak pernah tahu modul lain apa yang bisa terpengaruh seperti itu.

Saya sebenarnya telah mencoba mempublikasikan paket saya

Jadi saya telah mengajukan permintaan dukungan dengan Firebase untuk melihat apakah ada sesuatu yang dapat mereka ubah dalam proses penerbitan mereka.

Bisakah kita berharap bahwa di masa mendatang Yarn rilis kasus ini akan ditangani, menggunakan pendekatan NPM atau sebaliknya.

Sekadar informasi, ini juga akan berfungsi jika Anda menghapus firebase terlebih dahulu, lalu menambahkan paket yang diperlukan, dan terakhir menambahkan firebase kembali. Jadi, apakah Yarn memperbarui izin saat firebase dihapus?

@ vijay-stayntouch Tidak, Yarn tidak melakukan apa-apa. Masalah utamanya adalah jika Anda memiliki firebase di sana dengan flag read only dan proses "linking dependencies" harus dijalankan karena beberapa alasan, ia tidak dapat menyentuh file-file ini dan gagal. Meskipun saya sedikit tidak yakin bagaimana mungkin Yarn benar-benar dapat menghapus file-file itu dengan flag read-only.

Hai, teknisi Firebase di sini. Kami akan memperbaikinya di pihak kami dengan memastikan rilis kami berikutnya tidak lagi berisi file hanya-baca. Karena itu, ini memang tampak seperti perilaku yang tidak terduga dan mungkin harus diperbaiki secara menyeluruh untuk Yarn, seperti di npm. Terima kasih!

Apakah ini masalah yang sama dengan # 872?

Kabar baik untuk semua orang yang bermasalah dengan ini. Ada modul firebase 3.6.2 baru tanpa flag read only dan sekarang bekerja dengan sempurna.

Saya sarankan untuk menutup yang ini demi # 961 yang lebih umum dan hanya terkait dengan Yarn.

@FredyC Berita bagus!

Pertanyaannya masih menggantung bahwa jika ada paket lain yang membuat kodenya hanya-baca. Masalah yang sama akan terjadi lagi.

@ vijay-stayntouch Ya, itulah yang # 961 harus coba pecahkan.

Saya memiliki masalah yang sama dengan yarn add react-hot-loader --dev dikatakan:

yarn add v0.20.3
[1/4] Resolving packages...
[2/4] Fetching packages...
warning [email protected]: The platform "linux" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
error An unexpected error occurred: "EPERM: operation not permitted, utime '/home/syd/Work/taxibs/zaher/node_modules/source-map/README.md'".
info If you think this is a bug, please open a bug report with the information provided in "/home/syd/Work/taxibs/zaher/yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.

Saya melakukan yarn cache clean dan mengeksekusi yarn add ... lagi tetapi masalahnya masih ada.
Saya menggunakan ubuntu 16.04
node v6.9.4 & npm v3.10.10

Saya mendapatkan masalah yang sama - satu-satunya solusi yang berhasil bagi saya adalah menggunakan rimraf node_modules untuk menghapus folder node_modules lalu instal ulang semua paket menggunakan yarn

Saya menemukan masalah ini dari waktu ke waktu menginstal paket dengan npm atau benang, solusi saya pergi ke pengelola file, klik kanan pada / node_modules folder utama, memilih properti, dan centang-hapus centang "hanya-baca". Anda juga dapat melakukannya dengan menggunakan attrib di baris perintah. Kemudian Anda mencoba lagi penginstalan dan berhasil.

Mengalami kesalahan ini karena saya mencoba menjalankan perintah yarn saat server node sedang berjalan. Ups! HTH orang lain.

Mencoba beberapa solusi yang disajikan (termasuk hapus centang hanya baca) - tidak berfungsi
versi
node v6.11.1
benang v0.27.5
Windows 10

kesalahan: "EPERM: operasi tidak diizinkan, batalkan tautan 'D: \ urp \ node_modules \ node-sass \ vendor \ win32-x64-48 \ binding.node'"

_ran: _
$ yarn check --integrity

_Diterima: _
kesalahan Lockfile tidak mengandung pola: "material-ui@^0.19.0"
kesalahan Lockfile tidak mengandung pola: " [email protected] "
kesalahan Lockfile tidak mengandung pola: "npm-run-all@^4.1.1"
kesalahan Lockfile tidak mengandung pola: "react@^15.6.1"
kesalahan Lockfile tidak mengandung pola: "react-dom@^15.6.1"
kesalahan Lockfile tidak mengandung pola: "react-router-dom@^4.2.2"
kesalahan Lockfile tidak mengandung pola: "react-tap-event-plugin@^2.0.1"
error Tidak dapat menemukan file integritas

Segala bantuan akan sangat membantu!

ya, kadang-kadang menyebalkan saat melakukan di Win (seperti mengembangkan Ionic2 / 3 di Win, secara permanen membuat kesalahan EPERM misalnya menginstal / mod paket npm dan hal-hal lain); itu mungkin dipengaruhi oleh perangkat lunak antivirus; hapus centang read only attr dari semua node_modules ;
Juga, coba tambahkan file .npmrc keforlder (c: / users /) dengan konten unsafe-perm=true ; tambahkan file yang sama ke root proyek Anda; upaya terakhir: jalankan PowerShell sebagai admin dan tingkatkan dengan Start-Process powershell -Verb runAs - akan membuka jendela PowerShell baru yang ditinggikan, yang seharusnya dapat beroperasi

Pada Windows, pastikan untuk menjalankan Command Prompt "As Administrator". ::Telapak tangan::

Mencoba semua yang tercantum di sini - satu-satunya cara saya bisa memperbaikinya adalah:

npm install -g rimraf
rimraf node_modules

seperti yang disarankan oleh @domjtalbot.

ini juga terjadi ketika Anda memiliki dua contoh dari benang yang sedang berjalan mencoba menginstal paket dalam proyek yang berbeda

terjadi pada saya juga, npm 5.8.0, dan satu-satunya yang berfungsi ditunjukkan oleh @domjtalbot dan @ James-E-Adams

Saya mengalami masalah yang sama ketika saya memiliki server yang berjalan dengan nodemon , kemudian menambahkan paket yarn add bcrypt . Dengan komentar @rmorrise , saya memperbaiki masalah saya. Tidak pernah tahu server berjalan akan mempengaruhi pemasangan.

@rmorrise +1, akan menjadi logis jika yarn dapat mendeteksi keadaan seperti itu dan sebaliknya memberikan peringatan yang berarti.

Untuk info: Saya mengalami masalah yang sama setelah membatalkan penginstalan paket (ctrl + c), dan mencoba menginstal paket lain setelahnya. Saya juga memiliki server yang berjalan tetapi tidak menyebabkan kesalahan ketika saya menambahkan paket lain sebelumnya.

download (1)

Saya telah mengalami kesalahan ini beberapa kali sekarang dan hanya reboot Windows yang membantu.

Saya punya masalah yang sama. Penyebab bug ini adalah menjalankan create-react-app development server di ubuntu untuk windows bash. Menghentikan server memecahkan masalah.

download (1)

Saya telah mengalami kesalahan ini beberapa kali sekarang dan hanya reboot Windows yang membantu.

Biasanya saya lebih suka downvoting jawaban seperti itu, tapi ini benar-benar satu-satunya hal yang berhasil untuk saya 🤦‍♂

download (1)

Saya telah mengalami kesalahan ini beberapa kali sekarang dan hanya reboot Windows yang membantu.

Ini memang trik untuk saya ...

Setidaknya bagi saya, ini tampaknya disebabkan oleh vscode terbuka.

Pastikan aplikasi Anda (angular, react, dll ...) dimatikan sebelum npm install

@Slankers_Nusa

Saya tidak percaya ini berhasil

terima kasih atas solusinya

@Gamfostify saya juga 😄

Sama-sama.

Periksa apakah Anda memiliki proses node yang sedang berjalan, matikan jika mati dan coba lagi

Saya menjalankan benang dari terminal vscode jadi saya memulai kembali vscode dan itu berhasil

ya, kadang-kadang menyebalkan saat melakukan di Win (seperti mengembangkan Ionic2 / 3 di Win, secara permanen membuat kesalahan EPERM misalnya menginstal / mod paket npm dan hal-hal lain); itu mungkin dipengaruhi oleh perangkat lunak antivirus; hapus centang read only attr dari semua node_modules ;
Juga, coba tambahkan file .npmrc ke forlder Anda (c: / users /) dengan konten unsafe-perm=true ; tambahkan file yang sama ke root proyek Anda; upaya terakhir: jalankan PowerShell sebagai admin dan tingkatkan dengan Start-Process powershell -Verb runAs - akan membuka jendela PowerShell baru yang ditinggikan, yang seharusnya dapat beroperasi

ITU BENAR-BENAR BERHASIL. TERIMA KASIH.

@ Gayathri-K-2000 Bisakah Anda memberikan keterangan lebih lanjut? Saya menghadapi masalah yang sama tetapi tidak berhasil. Berikan contoh apa yang Anda lakukan jika memungkinkan. Terima kasih!

@ Gayathri-K-2000 Bisakah Anda memberikan keterangan lebih lanjut? Saya menghadapi masalah yang sama tetapi tidak berhasil. Berikan contoh apa yang Anda lakukan jika memungkinkan. Terima kasih!

Saya menghapus centang 'hanya baca' dari properti modul node dan menjalankan cmd sebagai administrator. Berhasil.

Periksa apakah Anda memiliki proses node yang sedang berjalan, matikan jika mati dan coba lagi

Itu memang masalah saya di sini juga. Hal yang sama berlaku untuk aplikasi react, misalnya ketika Anda diminta untuk menginstal node-sass - Anda tidak dapat melakukannya saat aplikasi Anda berjalan. Terima kasih semuanya!

Apakah halaman ini membantu?
0 / 5 - 0 peringkat