我还没找到任何可行的东西。我知道Heroku不允许子模块/扩展,所以为了安装它们,需要做一些替代方法。
我的例子是Radiant Mailer。通常要安装它,我执行了这个:
./script/extension install mailer
在Heroku上使用它的替代方法是什么?
我注意到我的问题仍然存在,因为即使我rm
'和wget
'它回来了,git status
仍然不承认它存在于那里。奇怪..
答案 0 :(得分:1)
好吧,这是我发现的最佳方式。随意证明我错了:
手动安装扩展程序,如下所示:
cd /path/to/radiant/vendor/extensions
wget http://github.com/saturnflyer/radiant-help-extension/tarball/master
tar xzvf saturnflyer-radiant-help-extension-*.tar.gz
mv saturnflyer-radiant-help-extension-* help
cd /path/to/radiant
rake radiant:extensions:help:migrate
rake radiant:extensions:help:update
这里的特别说明以及我的问题引用链接中遗漏的内容是:
如果您使用Radiant的内置./script/extension install
命令或Ray,则可以忽略此部分,因为它仅适用于手动安装。
为了正确加载扩展,Radiant需要扩展名的目录名来匹配扩展名(类)名称。
匹配规则是标准的Rails camelcase<→snakecase规则。例如,对于名为“Foo”的扩展名,扩展名目录名称必须命名为“foo”。对于名为“FooBar”的扩展名,目录名必须为“foo_bar”。如果您未遵循此约定,Radiant将无法加载扩展,并且应用程序将无法启动。迁移数据库时会出现错误,如:
Could not load extension from file: some_extension.
#<NameError: uninitialized constant SomeExtension>
如何知道分机的真实姓名?对于名称以“_extension.rb”结尾的文件,在扩展目录中查看。这是扩展程序的主要加载文件。扩展名的真实姓名是该结尾之前的名称。在前面的示例中,该文件将分别称为“foo_extension.rb”和“foo_bar_extension.rb”。