با سلام
لاراول ورژن 9.2.0 را با کامپوزر نصب کردم بعد پکیج laravel/ui با کامپوزر نصب کردم که ورژن 3.4 نصب کرد بعد دستور npm install اجرا کردم که با خطای زیر مواجه شدم:
دوستان لطفا راهنمایی کنید
در ضمن وژن php, node و npm روی سیستمم هم تو عکس زیر مشخصه
سلام رفیق امیدوارم حالت خوب باشه. میتونی راه هایی که تو مقاله زیر گفته شده رو تست کنی :
npm-err-cannot-read-solve
@CyrusKabir ممنون رفیق از پاسخی که دادی
طبق گفته مقاله ورژن npm از 8.13.2 به 6.14.6 تغییر دادم ومشکل حل شد وnpm نصب شد ولی حالا که دستور npm run dev میزنم خطای زیر رو میده
سلام.
اگر پروژه جدید استارت زدید و از نسخه ۹ لاراول استفاده میکنید پیشنهادم اینه که به پیشنهاد خود laravel ui دیگه از این پکیج استفاده نکنید و از جایگزین های جدیدترش مثل laravel breeze و laravel fortify استفاده کنید.
سلام @mhyeganeh ممنون از پاسخ شما
برای تست میخواستم laravel breez نصب کنم ولی باز هم خطا میده npm install مشکل داره الان چند روز درگیر این مسئله ام
C:\Users\M.naghel\Desktop\testbreez>php artisan breeze:install
Breeze scaffolding installed successfully.
Please execute the "npm install" && "npm run dev" commands to build your assets.
C:\Users\M.naghel\Desktop\testbreez>npm install
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
npm ERR! Cannot read properties of undefined (reading 'name')
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\M.naghel\AppData\Local\npm-cache\_logs\2022-07-06T11_09_06_062Z-debug-0.log
C:\Users\M.naghel\Desktop\testbreez>npm -v
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
8.11.0
از مستندات خود لاراول رفتم برلی نصبش
اول دستور
composer require laravel/breeze --dev
وبعد به ترتیب
php artisan breeze:install
npm install
npm run dev
php artisan migrate
که البته npm install زدم خطای بالا رو میده
حداقل 10 بار هم nodjs پاک کردم و دوباره نصب کردم
عجیبه!
یک سری به اینجا بزنید و راهکارهایی که دیگران امتحان کردند و جواب گرفتند رو تست کنید.
مثلا اول آخرین نسخه node (در حال حاضر ۱۸.۴.۰) رو نصب کنید.
اگر نشد فایل های npm و npm.cmd رو باید مقداری ویرایش کنید.
@mhyeganeh عزیز ممنون از راهنماییت
طبق اون لینک npm رو به ورژن آخر یعنی 8.12.1 که برای نود 18.4.0 هست آپدیت کردم اما وقتی دستور npm install میزنم خطای زیر رو میده
C:\Users\M.naghel\Desktop\testProject>npm install && npm run dev
npm ERR! Cannot read properties of undefined (reading 'name')
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\M.naghel\AppData\Local\npm-cachelogs\2022-07-06T13_09_39_433Z-debug-0.log
C:\Users\M.naghel\Desktop\testProject>npm -v
8.12.1
البته وارنینگ npm که مربوط به گلوبال و لوکال بود با آپدیت برطرف شد
محتوای فایل package.json تون چیه...؟ پروژه خام هست یا از قبل پکیج نصب شده داخلش دارید؟
پینشنهاد می کنم یکبار کل پوشه node_modules و فایل package-lock.json رو پاک کنید و دوباره npm install
رو اجرا کنید.
@mhyeganeh
محتوای توی package.json من
{
"private": true,
"scripts": {
"dev": "vite",
"build": "vite build"
},
"devDependencies": {
"@popperjs/core": "^2.10.2",
"axios": "^0.25",
"bootstrap": "^5.1.3",
"laravel-vite-plugin": "^0.2.1",
"lodash": "^4.17.19",
"postcss": "^8.1.14",
"sass": "^1.32.11",
"sass-loader": "^11.0.1",
"vite": "^2.9.11"
}
}
و پروژه خام هست با کامپوزر تازه نصب کردم
یک سوال دارم از حضورتون
اخیرا پروژه لاراولی با کامپوزر(آخرین ورژن موجود) نصب کردید؟ و مشکل منو ندارید ؟ یعنی مثلا بخواهید از بوت استرپ تو پروژه استفاده کنید و از npm برای نصب پکیج و کامپایلش استفاده کنید؟؟
سلام دوست عزیز
من تا به حال با این مشکل مواجه نشدم، اما این مورد رو میدونم که دستور npm install
(یا دستور npm i
) زمانی که اجرا بشه، تمام مواردی رو که در فایل package.json مربوط به پروژتون وجود داره رو نصب میکنه.
فقط یک نکته رو توجه داشته باشید که لاراول در آخرین نسخه یعنی ۹.۱۹ از laravel-mix به vite سوییچ کرده و چنانچه از laravel ui استفاده میکنید متاسفانه هنوز بین این دو سازگاری وجود نداره و شاید مشکلتون مربوط به این قضیه باشه.
یک PR هم در اینجا برای رفع مشکلش به ثبت رسیده ولی هنوز Merge و منتشر نشده. پس باید فعلا صبر کنید و یا اینکه بصورت دستی و دوباره از viteبه laravel-mix برگردید.
گر چه که پیشنهاد اولم اگر خاطرتون باشه این بود که ترجیحا از laravel ui که قدیمی شده و پشتیبانی خوبی ممکنه ازش نشه استفاده نکنید و از پکیج های بروزتر مثل laravel breeze استفاده کنید.
@mhyeganeh ممنون از پاسخ شما🙏
بعد از چند روز سرچ و تحقیق و کمک دوستان به نتایج زیر رسیدم
دلیل اینکه چرا دستور npm install فایل هاو پکیج های توی package.json نصب نمیکنه و خطای زیر رو میده رو متوجه نشدم
npm ERR! Cannot read properties of undefined (reading 'name')
npm ERR! A complete log of this run can be found in:
ولی با تغییر ورژن npm به 6.14.6 یعنی کاهش ورژن npm مشکل نصب حل میشه و عملیات npm install انجام میشه
حالا اگر در فایل package.json دپندنسی laravel-mix باشه(ورژن های پایینتر لاراول) عملیات npm run dev اجرا میشه و فایل های کامپایل شده سمت ui یعنی css و javascript کامپایل میشه و به پوشه public منتقل میشه و همه چیز به درستی کار میکنه
اما در نسخه جدید لاراول که از vite به جای laravel-mix استفاده میکنه وقتی دستور npm run dev اجرا میشه نتیجه زیر در ترمینال برمیگرده و این خطا نیست یعنی دستور به درستی اجرا شده
PS C:\Users\M.naghel\Desktop\myproje> npm run dev
> @ dev C:\Users\M.naghel\Desktop\myproje
> vite
vite v2.9.13 dev server running at:
> Local: http://localhost:3000/
> Network: use `--host` to expose
ready in 697ms.
Laravel v9.19.0
> APP_URL: http://localhost
ولی مشکلی که هست اینه که فایل های css و js موجود در پوشه Resource کامپایل نمیشه و در public قرار نمیگیره
سوال من اینه که الان در نسخه جدید لاراول که از vite استفاده میکنه و به گفته خودش خیلی سریعتره و بهتره چطور میتونیم از بوت استرپ تو پروژه استفاده کنیم دستور npm run dev متاسفانه این کار رو نمیکنه میشه لطفا راهنمایی کنید
البته صحبت هایی که کردم برداشت خودم بوده از این ماجرا که ممکن درست نباشه لطفا اصلاح کنید.
گر چه که پیشنهاد اولم اگر خاطرتون باشه این بود که ترجیحا از laravel ui که قدیمی شده و پشتیبانی خوبی ممکنه ازش نشه استفاده نکنید و از پکیج های بروزتر مثل laravel breeze استفاده کنید.
صد در صد درسته فقط استایل laravel-breeze با Tailwind CSS هست میخوام بدونم چطور میشه با bootstrap کار کرد
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟