25

我正在尝试在 Meteor 上运行本地软件包。

我有一个正确的 package.js,有一个 smart.json,它位于 Meteor 项目的 /packages 目录中。我项目中的 smart.json 如下所示:

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

我正在正确使用 api.add_files 。当我将它从包文件夹中取出时,代码运行良好。为了让这个包运行,我有什么遗漏吗?我正在使用mrt命令运行 Meteor。

4

6 回答 6

37

尝试将文件放在应用程序的“包”目录中并执行:meteor add [package-name]

于 2013-08-20T06:56:32.067 回答
31

Meteor 0.9 默认没有“包”目录,但仍将其用于本地包。如果它不存在,请创建它。

cd <your-app>
mkdir packages

您本地开发的包需要在此文件夹中。当然,您可以简单地创建一个符号链接。您可以自己执行此操作ln -s或使用 mrt 的功能:

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

请注意,如果您提供相对路径,则它必须相对于包目录,而不是相对于您当前的位置。所以你可能想先cd进入包目录以避免混淆。

最后添加包:

meteor add <your-package>

重要提示:<your-package>必须是您的package.js. 文件夹/符号链接的名称与此过程无关。

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

如果您的本地包与在线注册的包同名,则将使用您的本地版本。

于 2014-10-08T05:34:07.257 回答
10

接受的答案不如这个:https ://dweldon.silvrback.com/local-packages

于 2015-06-02T01:04:17.017 回答
2

机器:OSX 10.10.4、Meteor 1.1.0.3、Bash 3.2.57(1)-release

1.创建本地流星包目录和示例包。

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

2.检查至少设置为0.0.1的版本

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

3.指向meteor本地包

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

4.转到你的流星项目目录

meteor add user:package-name

5.显示列表

meteor list | grep user:package-name
于 2015-08-12T23:14:16.627 回答
2

您必须遵循以下两个步骤:

  1. meteor create <package-name>(这将在您的packages文件夹中创建包)。
  2. meteor add <package-name>(这会将新包的引用添加到您的/.meteor/packages文件夹中)。

然后你就可以开始处理你的新流星包了。

于 2019-03-18T09:34:03.410 回答
1

就像 Xiv 建议的那样,
将包复制到包文件夹中(在应用程序的主目录中创建“包”文件夹)。

流星添加<package name> 

(记住:包名不是包内package.js中指定的文件夹名)

于 2016-08-16T11:33:16.383 回答