Có cách nào đơn giản để cài đặt lại tất cả các gói mà ứng dụng của tôi phụ thuộc vào (tức là chúng nằm trong thư mục node_modules của ứng dụng của tôi) không?
npm update <packageName>
hoạt động rất tốt
Có cách nào đơn giản để cài đặt lại tất cả các gói mà ứng dụng của tôi phụ thuộc vào (tức là chúng nằm trong thư mục node_modules của ứng dụng của tôi) không?
npm update <packageName>
hoạt động rất tốt
Câu trả lời:
Cách dễ nhất mà tôi có thể thấy là xóa node_modules
thư mục và thực thi npm install
.
package.json
tệp cho ứng dụng của mình.
npm install
sau khi xóa node_modules
thư mục có thể dẫn đến các phiên bản phụ thuộc khác nhau được xác định package.json
khi bị kéo xuống. Nếu bạn yêu cầu các phiên bản phụ thuộc rất cụ thể cho ứng dụng của mình, hãy cẩn thận và xem xét npm shrinkwrap
hoặc kiểm tra trong node_modules
thư mục của bạn để kiểm soát nguồn.
npm install
nó và nó luôn cài đặt lại các gói phụ thuộc và nâng cấp các phiên bản mới nhất theo sự cho phép của pack.json. Vì vậy, loại bỏ node_modules
các thư mục là không cần thiết trừ khi bạn nghĩ rằng nó bị hỏng. Có một lý do bạn nghĩ rằng nó nên được gỡ bỏ? Tuy nhiên, nếu mục đích là loại bỏ bất kỳ gói nào không liên quan thì bạn có thể thực hiện npm prune
thay thế
npm install
nâng cấp tất cả các mô-đun lên trạng thái pack.json . Nhưng câu hỏi là làm thế nào để cài đặt lại tất cả các gói . Vì vậy, chúng có thể bị hỏng hoặc có thể cần phải xây dựng lại các phần nhị phân sau khi nâng cấp verison node.js.
Cách đúng là thực thi npm update
. Đó là một lệnh thực sự mạnh mẽ, nó cập nhật các gói bị thiếu và cũng kiểm tra xem phiên bản mới hơn của gói đã được cài đặt có thể được sử dụng chưa.
Đọc phần giới thiệu cho NPM để hiểu những gì bạn có thể làm với npm.
npm uninstall <package_name>
để gỡ cài đặt gói cụ thể hoặc thực hiện npm uninstall
để gỡ cài đặt tất cả các gói.
npm uninstall
mà không chỉ định một gói nhưng điều đó gây ra lỗi.
Hầu hết thời gian tôi sử dụng lệnh sau để đạt được cài đặt lại hoàn toàn tất cả các mô-đun nút (hãy chắc chắn rằng bạn đang ở trong thư mục dự án).
rm -rf node_modules && npm install
Bạn cũng có thể chạy npm cache clean
sau khi xóa node_modules
thư mục để đảm bảo không có bất kỳ phụ thuộc nào được lưu trong bộ nhớ cache.
npm
đã cập nhật lệnh CLI cho install
và thêm --force
cờ.
npm install --force
Đối số --force
(hoặc -f
) sẽ buộc npm
phải tìm nạp tài nguyên từ xa ngay cả khi bản sao cục bộ tồn tại trên đĩa.
Xem npm install
Bạn có thể sử dụng mô-đun cài đặt lại được tìm thấy trong npm.
Sau khi cài đặt nó, bạn có thể sử dụng lệnh sau:
reinstall
Sự khác biệt duy nhất với việc xóa node_modules
thư mục và thực hiện thủ công npm install
là lệnh này tự động xóa bộ nhớ cache của npm. Vì vậy, bạn có thể nhận được ba bước trong một lệnh.
upd: npx reinstall
là một cách để chạy lệnh này mà không cần cài đặt gói toàn cầu (chỉ dành cho npm5 +)
Bạn có thể làm điều này với một lệnh đơn giản:
npm ci
Đối với Windows, bạn có thể sử dụng
(if exist node_modules rmdir node_modules /q /s) && npm install
trong đó loại bỏ node_modules
thư mục và thực hiện npm install
sau đó. Việc gỡ bỏ trước khi cài đặt đảm bảo rằng tất cả các gói được cài đặt lại.
Thực hiện theo bước này để cài đặt lại các mô-đun nút và cập nhật chúng
hoạt động ngay cả khi thư mục node_modules không tồn tại. Bây giờ thực hiện lệnh sau một cách đồng bộ. bạn cũng có thể sử dụng "cập nhật npm" nhưng tôi nghĩ đây là cách ưa thích
npm outdated // not necessary to run this command, but this will show outdated dependencies
npm install -g npm-check-updates // to install the "ncu" package
ncu -u --packageFile=package.json // to update dependencies version in package.json...don't run this command if you don't need to update the version
npm install: will install dependencies in your package.json file.
nếu bạn ổn với phiên bản phụ thuộc của bạn trong tệp pack.json, không cần phải làm theo các bước đó chỉ cần chạy
npm install
npm rebuild
cũng có thể giúp một số vấn đề với sự phụ thuộc bản địa