Fix lỗi npm không thể cài các package devDependencies

Rate this post

Khi cài đặt dự án,  có lúc bạn sẽ cài mãi cũng không đủ các package npm, đặc biệt là khi các package được cài rất nhanh và rất ít.

Ví dụ khi cài đặt xong chỉ mất 1-2 giây và trả ra có vài package như sau:

npm WARN bootstrap@5.3.2 requires a peer of @popperjs/core@^2.11.8 but none is installed. You must install peer dependencies yourself.
npm WARN gp-child-theme@1.0.0 No description

audited 1140 packages in 4.219s

2 packages are looking for funding
run `npm fund` for details

found 22 vulnerabilities (18 moderate, 3 high, 1 critical)
run `npm audit fix` to fix them, or `npm audit` for details

 

Sau khi mở folder node_modules ra, bạn thấy có vài package thôi:

Các package node đã cài

Như vậy, dự đoán của mình là ở đây node đang nhận môi trường là production. Chỉ trên môi trường production thì mới gặp vấn đề là không thể cài package được đầy đủ.

Hoá ra là trong câu lệnh build (khi install không thành công), mình có set NODE_ENV=production.

  "scripts": {
    "dev": "cross-env BABEL_ENV=default NODE_ENV=development webpack",
    "build": "cross-env BABEL_ENV=default NODE_ENV=production webpack"
  }

Cách fix thì đơn giản thôi, bạn mở Terminal và chạy câu lệnh sau:

npm config get production

Kết quả là chạy lại câu lệnh npm install sẽ có số lượng packages nhiều hơn:

added 1131 packages from 638 contributors and audited 1140 packages in 57.273s

166 packages are looking for funding
run `npm fund` for details

found 22 vulnerabilities (18 moderate, 3 high, 1 critical)
run `npm audit fix` to fix them, or `npm audit` for details

Have fun!

Chuyên gia về Web
Bạn muốn làm việc với dịch vụ website do chúng tôi triển khai?
Gọi tư vấn 0982.90.4343
Chuyên gia về Web
Bài viết liên quan
Gọi file PHP trong WordPress

19/09/2023

Cài đặt và sử dụng WP-CLI trên môi trường Linux
Trên một số môi trường Hosting có thể cung cấp SSH hoặc Terminal access, song không có sẵn WP-CLI để...
Import database MySQL lớn trên môi trường Docker

06/08/2023

Import database MySQL lớn trên môi trường Docker
Mình sử dụng EasyPanel để quản lý các Docker và build môi trường app. Nay gặp tình huống phải import...

28/01/2023

Hướng dẫn cài đặt php extension mongodb trên Mac OS M1
Khi bạn muốn hỗ trợ MongoDB trên dòng Mac M1, phần cài đặt sẽ cần một chút lưu ý. Hướng...
Git

18/12/2022

Xử lý lỗi Git không thể tiến hành merge do merge.renamelimit
Khi bạn tiến hành merge nhánh phụ vào nhánh chính hoặc lên nhánh production, có thể xung đột xảy ra...