Trong dự án của tôi, tôi đã cài đặt bower
các thành phần mà không có tùy chọn lưu . Bây giờ, tôi muốn cập nhật bower.json
?
Làm cách nào để cập nhật bower.json với các gói đã cài đặt?
bower init
vào bảng điều khiển của bạn.
Trong dự án của tôi, tôi đã cài đặt bower
các thành phần mà không có tùy chọn lưu . Bây giờ, tôi muốn cập nhật bower.json
?
Làm cách nào để cập nhật bower.json với các gói đã cài đặt?
bower init
vào bảng điều khiển của bạn.
Câu trả lời:
Chỉ cần liệt kê các phụ thuộc của bạn:
bower list
Sau đó, bạn nên chạy tất cả lệnh cài đặt với param '--save' như thế này:
bower install bootstrap --save
Đó là một công việc khó khăn, nhưng nếu bạn có một ngàn phụ thuộc, bạn có thể tạo một kịch bản để tự động hóa nhiệm vụ.
trước khi làm bất cứ điều gì đổi tên bower.json của bạn trong bower2.json chẳng hạn.
sau đó bạn có thể làm một:
$ bower init
(tự động tạo tệp bower.json).
lưu ý rằng tất cả các câu hỏi nên được điền sẵn với cấu hình hiện tại của bạn.
Khi nào nó sẽ hỏi bạn:
thiết lập các thành phần hiện được cài đặt như phụ thuộc? nói có
Bây giờ bạn có tất cả các phụ thuộc của mình trong tệp bower.json mới (và bạn có thể kiểm tra xem mọi thứ có đúng với bower2.json cũ không)
bower.json
không liệt kê angular:'1.5.5'
. Điều này là do tôi đã angular-animate
cài đặt và vì nó phụ thuộc vào angular 1.5.5
Bower quyết định không đưa angular
vào bower.json
(xem xét nó sẽ cài đặt nó bằng mọi cách khi ai đó làm bower install
điều này bower.json
). Đây sẽ là một vấn đề nếu ai đó remove angular-animate
từ bower.json
trong trường hợp này bower
sẽ không cài đặt angular
quá kể từ khi nó không được liệt kê.
Một cách khó khăn là chạy bower list
, tìm kiếm các gói có nhãn không liên quan và thêm các gói theo cách thủ công vào phần phụ thuộc trong bower.json
.
Nếu có nhiều gói không liên quan , có thể dễ dàng khắc phục điều này hơn bằng cách chạy bower init
và trả lời Có để "đặt các thành phần hiện được cài đặt làm phụ thuộc?". Điều này sẽ lấy hiện tại của bạn bower.json
, đọc nó và sau đó tạo một cái mới bằng cách sử dụng thông tin từ cái cũ. Vì vậy, trong trường hợp lý tưởng, bạn sẽ có cùng một tệp chỉ với các gói không liên quan được thêm vào.
Cảnh báo : Thứ nhất, có thể có một cái gì đó bị mất trong quá trình (ví dụ devDependecies
). Thứ hai trong phiên bản cuối cùng của Bower (v1.2.7), điều này sẽ không lưu giữ thông tin các gói hiện tại! Tôi cảm thấy đó là một lỗi. Tuy nhiên, bạn có thể lưu tệp cũ và (thủ công) hợp nhất tệp đó với tệp được tạo.
Ngoài ra, bạn nên yêu cầu một tùy chọn hoặc một cái gì đó bằng cách mở một vấn đề bower vì điều này sẽ được nhiều nhà phát triển hoan nghênh.
Bạn có thể sử dụng bower-check-update (bạn cần cài đặt node.js trên máy của mình):
bower-check-updates
là một tiện ích tự động điều chỉnh bower.json với phiên bản mới nhất của tất cả các phụ thuộc
bower-check-update - là một nhánh của npm-check-update , vì vậy tất cả đều giống nhau nhưng cập nhật bower.json
, thay vìpackage.json
npm install -g bower-check-updates
bower-check-updates -u
bower install
Điều này sẽ cài đặt bower-check-updates
trên toàn cầu, vì vậy bạn có thể khởi chạy nó từ bất cứ đâu.
PS để biết thêm thông tin về npm-check-update xin vui lòng xem chủ đề này
bower install
bower install
không cập nhật bower.json.
Sau khi bower-check-updates -u
bạn phải chạy bower install
thay vìnpm install
bower install
mà không--save
luôn luôn khó hơn và không bao giờ dễ hơn.