MR DellAshoob
3 سال پیش توسط MR DellAshoob مطرح شد
2 پاسخ

عوض کردن مکان فایل در node js

سلام
میخواستم با node js مکا یک فایلی رو در روت پروژه تغییر بدم اما به این ارور میخورم
Error: EPERM: operation not permitted, rename

میگه این عملیات مجاز نیست و منم چندتا سرچ داشتم اما چیز بدرد بخوری پیدا نکردم
اگر کسی راه حل تجربی ایی داره ممنون میشم بگه با تشکر


ثبت پرسش جدید
Ehsan Madadi
تخصص : Junior Web Developer
@ehsanmadadi11 2 ماه پیش مطرح شد
0

سلام
من با اجرا کردن vs code در حالت administrator این مشکل رو حل کردم، البته طبق گفته مستندات vs code اگه اون رو در حالت administrator اجرا کنید آپدیت ها رو غیر فعال میکنه.
 تصویر

لینک مستندات vs code


محمد مهدی زمانی
تخصص : برنامه نویس
@30bshop 18 ساعت پیش مطرح شد
0

با سلام
دلایل احتمالی خطا

  1. فایل باز است
    مثلاً توسط برنامه‌ای مثل VSCode، Notepad، یا حتی در حال استفاده در خود Node.js.

    راه‌حل:
    مطمئن شو که هیچ برنامه‌ای فایل رو باز نکرده باشه.

  2. اجازه دسترسی نداری (Permission Error)
    اگر روی ویندوز باشی، ممکنه Node.js دسترسی لازم برای تغییر فایل نداشته باشه.

    راه‌حل:

ترمینال رو با Run as Administrator باز کن.

اگر در حال دسترسی به فایلی داخل مسیر محافظت‌شده هستی (مثل C:\Program Files)، به جایی مثل دسکتاپ یا C:\Users\YourName\project منتقلش کن.

  1. فایل در حال استفاده در فرآیند دیگری از Node است
    یعنی مثلاً فایلو قبلاً fs.open() کردی و هنوز نبستی.

    راه‌حل:
    کدی که داری استفاده می‌کنی رو بررسی کن که مطمئن بشی فایلو باز نکردی یا باز مونده باشه.

  2. آنتی‌ویروس یا نرم‌افزار امنیتی
    بعضی آنتی‌ویروس‌ها اجازه نمی‌دن فایل خاصی rename یا overwrite بشه.

    راه‌حل:
    موقتاً آنتی‌ویروس رو غیرفعال کن یا مسیر پروژه‌ رو به لیست امن (whitelist) اضافه کن.

استفاده‌ی درست از fs.renameSync یا fs.rename :

const fs = require('fs');

fs.rename('old.txt', 'new.txt', function (err) {
  if (err) {
return console.error("خطا در تغییر نام:", err);
  }
  console.log('فایل با موفقیت تغییر نام یافت.');
});

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام