2013-08-20 15 views
20

Tôi đang cố gắng chạy gói địa phương trên Meteor.Cài đặt gói địa phương trên Meteor

Tôi có package.js đúng, có smart.json và nằm trong thư mục/packages trong dự án Meteor của tôi. Smart.json tại dự án của tôi trông giống như sau:

{ 
    "packages": { 
     "router": {}, 
     "userErrors": { 
      "path": "/home/user/Documents/project/packages/userErrors" 
     } 
    } 
} 

Và tôi đang sử dụng api.add_files và tất cả chính xác. Mã chạy tốt khi tôi lấy nó ra khỏi thư mục gói. Có cái gì tôi đang thiếu để làm cho gói này chạy? Tôi đang chạy Meteor với lệnh mrt.

Trả lời

27

cố gắng để đưa các file trong thư mục 'gói' của ứng dụng của bạn và thực hiện: sao băng thêm [package-name]

+0

Tốt! Sự khác biệt giữa 'mrt' và' meteor' là thứ khiến tôi phải vứt bỏ. – Xiv

+0

trong thực tế mrt là [thiên thạch] (https://github.com/oortcloud/meteorite), một công cụ riêng biệt từ thiên thạch cho phiên bản và quản lý gói. –

+0

Thật thú vị khi hệ thống gói giữa thiên thạch và mrt dường như hoàn toàn độc lập. Có vẻ như có dư thừa không? – Xiv

30

Meteor từ 0,9 không có một "gói" thư mục bằng cách mặc định, nhưng sẽ vẫn sử dụng nó cho các gói địa phương. Tạo nó nếu nó không tồn tại.

cd <your-app> 
mkdir packages 

Gói được phát triển cục bộ của bạn cần nằm trong thư mục này. Tất nhiên bạn chỉ có thể tạo ra một liên kết tượng trưng. Bạn có thể làm điều này cho mình với ln -s hoặc sử dụng các tính năng của mrt:

mrt link-package /path/to/<your-package> 

Xin lưu ý, nếu bạn cung cấp một đường dẫn tương đối, điều này phải tương đối so với thư mục gói, không liên quan đến vị trí hiện tại của bạn. Vì vậy, bạn có thể muốn cd vào thư mục gói trước để tránh nhầm lẫn.

Cuối cùng thêm gói:

meteor add <your-package> 

QUAN TRỌNG: <your-package> cần phải là tên của mô tả bên package.js của bạn. Tên của thư mục/liên kết tượng trưng không liên quan đến quy trình này.

Package.describe({ 
    name: "<your-package>" 
}); 

Nếu gói địa phương có cùng tên với gói đăng ký trực tuyến, phiên bản địa phương của bạn sẽ được sử dụng.

2

Machine: OSX 10.10.4, Meteor 1.1.0.3, Bash 3.2.57 (1) -release

1.Create thiên thạch địa phương gói dir và gói ví dụ.

mkdir ~/.meteor_local_packages && cd $_ && meteor create --package user:package-name 

2. Kiểm tra phiên bản thiết lập để 0.0.1 ít nhất

cat ~/.meteor_local_packages/package-name/package.js | grep version: 

3.Point để Meteor gói địa phương

echo 'export PACKAGE_DIRS=~/.meteor_local_packages' >> ~/.bash_profile && source ~/.bash_profile 

4.Go để dự án của bạn sao băng dir

meteor add user:package-name 

5.Hiển thị danh sách

meteor list | grep user:package-name 
1

Cũng giống như XIV đề nghị,
Sao chép gói vào thư mục gói (tạo ra "gói" thư mục bên trong thư mục chính của ứng dụng của bạn).
Làm

meteor add <package name>

(hãy nhớ: tên gói không phải là tên thư mục được chỉ định trong package.js bên trong gói)