2014-10-02 15 views
26

Vì 0.9.3 Tôi đang gặp một số vấn đề với phụ thuộc gói meteor, ví dụ một số gói bên thứ ba không khai báo tất cả các phụ thuộc của chúng (như gạch dưới, thường được bao gồm nhưng không khi được sử dụng bởi một gói khác).Làm thế nào để hiển thị tất cả các cây phụ thuộc gói

Có cách nào đơn giản để hiển thị cây phụ thuộc, giống như npm không?

thiên thạch danh sách sẽ hiển thị những gì trong dự án của bạn

.meteor/phiên bản sẽ hiển thị tất cả các gói nhưng tôi đang cố gắng để tìm hiểu những gì được bao gồm (hoặc không) gói khác.

hiện tại tôi đang nhận được các lỗi như sau, nhưng chưa bao gồm Minimongoid afaik và grepping không tìm thấy tham chiếu đến nó.

W20141001-19:19:46.137(-7)? (STDERR) /Users/dc/.meteor/packages/meteor-tool/.1.0.33.he3qxx++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/lib/node_modules/fibers/future.js:173 
W20141001-19:19:46.137(-7)? (STDERR)      throw(ex); 
W20141001-19:19:46.138(-7)? (STDERR)       ^
W20141001-19:19:46.141(-7)? (STDERR) ReferenceError: Minimongoid is not defined 
W20141001-19:19:46.141(-7)? (STDERR)  at collections/user.coffee:1:20 
W20141001-19:19:46.141(-7)? (STDERR)  at /Users/dc/dev/shumi/package-dev/app/.meteor/local/build/programs/server/app/collections/user.coffee.js:24:3 
W20141001-19:19:46.142(-7)? (STDERR)  at /Users/dc/dev/shumi/package-dev/app/.meteor/local/build/programs/server/boot.js:168:10 
W20141001-19:19:46.142(-7)? (STDERR)  at Array.forEach (native) 
W20141001-19:19:46.142(-7)? (STDERR)  at Function._.each._.forEach (/Users/dc/.meteor/packages/meteor-tool/.1.0.33.he3qxx++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/lib/node_modules/underscore/underscore.js:79:11) 
W20141001-19:19:46.142(-7)? (STDERR)  at /Users/dc/dev/shumi/package-dev/app/.meteor/local/build/programs/server/boot.js:82:5 
+1

Tôi cũng muốn có thể thực hiện việc này, để chúng tôi có thể tìm ra [gói nào có sự phụ thuộc vào phiên bản cũ của gói t mũ bị hỏng] (https://github.com/TelescopeJS/Telescope/issues/861). –

+0

Mọi tin tức về điều này? –

Trả lời

3

Đây là những gì tôi đã làm ...

Tôi chạy meteor list, và sao chép ra để notepad, để xem lại sau đó.

Sau đó, tôi đã đi xuống toàn bộ danh sách, nhập: meteor show <package> tìm kiếm kết quả cho: Implies: whatever ... đó là phần cho bạn biết gói cụ thể bao gồm. Về cơ bản, một phần của đầu ra cho biết "Implies: something", đó là những phụ thuộc của gói bạn chạy meteor show <package> cho.

Sau đó ... nếu bạn lấy các gói trong "Implies: foopackage" và chạy "meteor show foopackage" sẽ cho bạn biết rằng phụ thuộc của phụ thuộc.

Về cơ bản, đây là giải pháp thô cho vấn đề này mà không có giải pháp/tính năng/lệnh chính thức cho.

Chúc may mắn.

P.S. trong trường hợp của tôi, tôi muốn nhìn thấy những gì đã bao gồm iron:router, và qua quá trình trên, tôi xác định đó là useraccounts:semantic-ui đã được bao gồm useraccounts:core, mà lần lượt được bao gồm iron:router (mà không phải là trong meteor list!)

Xem trang sau để biết thêm: https://github.com/meteor/meteor/issues/2853

2

tôi đã viết một số code here để xây dựng một cây gói, và làm cho hình ảnh như thế này:

enter image description here

Nó wor ked trên mã nguồn nguyên của phân phối sao băng, vì vậy nó cần một số tinh chỉnh để làm việc trên một ứng dụng thực tế (và tôi không thể giúp với điều đó vào lúc này), nhưng nó sẽ là một sự khởi đầu ...

+1

Nhìn đẹp, nhưng bạn có thể giải thích ngắn gọn cách mã của bạn hoạt động không? Bằng cách đó, nếu vì lý do nào đó, repo của bạn bị trúng một chiếc xe buýt thì di sản được bảo tồn. –

+0

Vui lòng thêm README vào mã này – Daniel

33

Trong khi chúng tôi chờ các công cụ chính thức có chức năng này, dưới đây là uglyslow vershion:

for p in `meteor list | grep '^[a-z]' | awk '{ print $1"@"$2 }'`; do echo "$p"; meteor show "$p" | grep -E '^ [a-z]'; echo; done 

Điều này sẽ hiển thị phụ thuộc của tất cả các gói được thêm vào. Nó phân tích đầu ra của meteor listmeteor show [email protected] và sẽ phá vỡ khi có bất kỳ điều gì thay đổi.

+1

một phiên bản cải tiến nhỏ này có thể được tìm thấy tại đây https://github.com/meteor/meteor/issues/2853 (nhận xét của abernix về tháng 1 năm 2017) – charlesdeb

1

Kể từ Meteor v1.5.2 (released 2017-09-05) bây giờ bạn sẽ nhìn thấy cây phụ thuộc đầy đủ như thế này:

meteor list --tree

Đây là những gì đầu ra trông giống như:

$ meteor list --tree 

[email protected] 
├─┬ [email protected] 
│ ├─┬ [email protected] 
│ │ └── [email protected] 
│ ├── [email protected] (top level) 
│ ├─┬ [email protected] 
│ │ ├─┬ [email protected] 
│ │ │ ├── [email protected] (expanded above) 
│ │ │ ├── [email protected] (top level) 
│ │ │ ├─┬ [email protected] 

Yêu cầu kéo được đóng góp bởi sdarnel và có thể được tìm thấy ở đây cho những người quan tâm: https://github.com/meteor/meteor/pull/8936

+0

Đây là câu trả lời mới! Cảm ơn Adrian :-) –

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