2015-02-19 18 views
23

Tôi đang phát triển một ứng dụng Meteor chưa được sản xuất, vì vậy tôi có thể di chuyển nhanh chóng khi áp dụng các phiên bản gói mới (useraccounts có một phiên bản quan trọng bị sưng vài giờ sau khi tôi ' d tích hợp nó, ví dụ.) Đây là những gì tôi nghĩ rằng meteor update có nghĩa là để thực hiện. Tuy nhiên, khi tôi chạy:Cập nhật tất cả các gói Meteor lên phiên bản mới nhất

meteor update

từ dự án của tôi, tôi biết rằng các gói đã được cập nhật nhưng .meteor/phiên bản vẫn không thay đổi.

Tôi có thể nâng cấp gói bằng cách chạy meteor add someone:[email protected], nhưng điều này chỉ làm thay đổi phụ thuộc phiên bản từ .meteor/versions thành .meteor/packages mặc dù có vẻ như việc nâng cấp. Tôi rất vui khi khóa phiên bản xuống khi tôi chuyển sang sản xuất, nhưng có vẻ như trong quá trình phát triển, tôi có thể sử dụng lệnh cập nhật, đặc biệt là meteor list cho biết đó là bước tiếp theo.

Tôi đã quản lý để nâng cấp tất cả các gói của mình bằng cách xóa .meteor/versions và .meteor/local và đang chạy meteor update, nhưng điều này có vẻ lộn xộn.

Tôi cũng tìm thấy this issue nhưng đã bị đóng. Nếu nó được mở lại hay tôi nên mở một vấn đề mới? Tôi hiểu cách semver hoạt động, nhưng tôi nghĩ vấn đề là Meteor không viết kết quả giải quyết ràng buộc của nó vào .meteor/versions nên không nhận ra rằng các gói cập nhật đã được áp dụng. Điều đó có chính xác hay tôi chỉ hiểu lầm điều gì đó?

+1

bạn có thể đăng bài lên đầu ra hoàn chỉnh của 'sao băng list'? – Akshat

Trả lời

12

Đối với thời điểm hiện tại có vẻ như rằng bạn có 2 lựa chọn đối với các gói có cập nhật mà bạn muốn sử dụng:

  1. loại bỏ và thêm các gói cần quan tâm qua meteor remove provider:package_namemeteor add provider:package_name
  2. gói cập nhật với họ phiên bản cụ thể bằng tay qua meteor add provider:[email protected]

Meteor won't update packages unless you remove and add them #2500

+0

sau 'gói cập nhật meteor-xyz' bạn không phải làm gì đó để làm cho nó vĩnh viễn trong lần khởi động lại tiếp theo? Chỉnh sửa cấu hình? – pferrel

2

Just Ngoài nhỏ để @Meteorpoly câu trả lời:

Bạn cũng có thể chỉnh sửa phiên bản gói trong .meteor/phiên bản tập tin bằng tay và sao băng sẽ nhặt nó lên trên tiếp theo chạy/hiện

13

Bạn cũng có thể sử dụng meteor update provider:package_name

27

Mở rộng trên câu trả lời trước, bạn có thể cập nhật tất cả các gói với điều này:

grep -ve '^#' .meteor/packages | xargs meteor update 
+0

đây là câu trả lời đúng cho câu hỏi được đăng. cảm ơn bạn –

14

Cách dễ nhất là xóa nội dung của .meteor/versions và sau đó lưu. Lần sau khi bạn chạy sao băng, nó sẽ cập nhật tất cả các gói lên phiên bản mới nhất.

+0

Đây là cách hiệu quả nhất và dễ nhất để thực hiện điều đó khi tôi tìm thấy. – Malith

+0

Tuyệt vời! Cảm ơn bạn! – Arrowcatch

26

bây giờ u có thể dễ dàng làm

meteor update --all-packages 
0

Từ Meteor tài liệu: meteor update --packages-only

Lệnh này sẽ cập nhật tất cả các gói mà không được xây dựng tại địa phương, có một bản cập nhật có sẵn và cũng tương thích với các phiên bản sao băng bạn đang sử dụng.

0

Có vẻ như rằng bây giờ

meteor update 

là đủ để cập nhật tất cả các gói

Các vấn đề liên quan