我试图在Meteor上运行本地软件包。
我有一个正确的package.js,有一个smart.json,它位于我的Meteor项目的/ packages目录中。我项目中的smart.json看起来像这样:
{
"packages": {
"router": {},
"userErrors": {
"path": "/home/user/Documents/project/packages/userErrors"
}
}
}
我正在使用api.add_files。当我从packages文件夹中取出代码时,代码运行正常。为了让这个软件包运行,我有什么遗漏的东西吗?我使用mrt
命令运行Meteor。
答案 0 :(得分:31)
尝试将您的文件放在应用的“packages”目录中并执行: meteor add [package-name]
答案 1 :(得分:31)
来自0.9的流星没有"包"目录默认情况下,但仍将其用于本地程序包。如果它不存在,请创建它。
cd <your-app>
mkdir packages
您当地开发的软件包需要位于此文件夹中。当然,您只需创建一个符号链接即可。您可以使用ln -s
自行完成此操作或使用mrt:
mrt link-package /path/to/<your-package>
请注意,如果提供相对路径,则必须相对于packages目录,而不是相对于当前位置。因此,您可能希望首先cd
进入packages目录以避免混淆。
最后添加包:
meteor add <your-package>
重要提示:<your-package>
必须是package.js
内的说明名称。文件夹/符号链接的名称与此过程无关。
Package.describe({
name: "<your-package>"
});
如果您的本地包与在线注册的包名称相同,则将使用您的本地版本。
答案 2 :(得分:10)
接受的答案不如这个答案:https://dweldon.silvrback.com/local-packages
答案 3 :(得分:2)
机器:OSX 10.10.4,Meteor 1.1.0.3,Bash 3.2.57(1)-release
1.创建本地流星包dir和示例包。
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.指向流星本地软件包
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
答案 4 :(得分:1)
您必须遵循以下两个步骤:
meteor create <package-name>
(这将在packages
文件夹中创建包)。meteor add <package-name>
(这会将新软件包的引用添加到/.meteor/packages
文件夹中)。然后您就可以开始处理新的流星包了。