colinmollenhour / modman
模块管理器
README
对于不允许您将文件从核心文件中分离的软件,现在要开发扩展程序并将其保持在版本控制之下,并且便于部署,这要容易得多。本脚本的开发受到了 Magento 的启发,因为它迫使您将扩展文件混合到核心代码目录中。使用 modman,您可以在文本文件中指定您想要将目录和文件映射到的位置,并且它会为您维护符号链接,从而使您的代码易于修改和部署。
您克隆/签出的所有模块都将保存在您运行 modman init
的位置的 .modman
目录中。
要求
- Linux/Unix 或 OSX(不包括 cygwin,请参见下面的 Windows 用户)
- bash
- PATH 中可用的常见工具:grep(POSIX)、find、ln、cp、basename、dirname
- Web 服务器必须遵循符号链接
- git 和/或 subversion 是可选的(“deploy”命令不需要)
Magento 用户
如果在一个 modman 模块中使用模板文件,您必须选择以下两种方式之一
选项 1
使用 修补过的 Mage/Core/Block/Template.php 版本。这个 gist 本身就是一个 modman 模块,所以您可以直接克隆它来安装,或者以其他方式将其集成到您的环境中。
$ modman clone template-patch https://gist.github.com/35c0d32dd651c4c8c840.git
注意: 我不提供使用此补丁的任何保证。风险自负!
选项 2
启用“允许符号链接”(在系统 > 配置 > 高级 > 开发者下找到)
注意: 禁用此安全保护会降低安全性,因为它允许从任何位置加载模板文件。然而,风险主要不在于符号链接,而在于特别定制的模板路径。修补过的 Template.php 文件(选项 1)允许使用符号链接,但应该仍然防止从除 app/design 目录之外的目录加载模板。
Windows 用户
此脚本不支持 Windows(包括 cygwin),但有一个 modman 的 PHP 端口,它可以在 Windows 上工作。我与作者无关联,也不提供 PHP 端口的支持,这里仅提供一个参考链接。
安装
要安装 Modman,您可以在用户的根目录中安装库,或者全局安装 Modman。无论您选择哪种选项,首先运行这两个脚本之一来下载 Modman 仓库。
bash < <(wget -q --no-check-certificate -O - https://raw.github.com/colinmollenhour/modman/master/modman-installer)
or
bash < <(curl -s -L https://raw.github.com/colinmollenhour/modman/master/modman-installer)
1. 根目录
如果您想将脚本保留在原生的 ~/bin/
位置,只需重新加载您的 Bash 配置文件。
source ~/.profile
2. 全局安装 Modman
下载后,将 Modman 脚本移动到适当的脚本文件夹中(例如 /usr/local/bin/
或 /usr/* 中的类似位置)。将其移动到已加载到您的 $PATH 变量的路径之一将自动将其选中,无需重新加载 ~/.profile。
mv ~/bin/modman /usr/local/{{ preferred folder }}
然后,最后,如果您想输入更短的内容,可以通过符号链接将 Modman 别名(可选)
ln -s /usr/local/{{ preferred folder }}/modman /usr/local/{{ preferred folder }}/{{ symlink }}
注意:modman 仅仅是一个 bash 脚本,因此要使用它,您只需将其放置在您的 $PATH 中,并更改其模式为可执行。
入门
运行modman --help
以获取基本使用摘要,或运行modman --tutorial
查看简要教程。如需更深入的信息,请参阅Modman Wiki
版本控制系统
Modman目前支持subversion和git。其他VCS可以通过手动检出源代码到正确的目录并使用"deploy"命令来使用。
作者
- Colin Mollenhour
- http://colin.mollenhour.com/
- @colinmollenhour
- 在github上关注我!
许可证
版权所有 2009 Colin Mollenhour
许可协议:Apache License, Version 2.0(以下简称“许可协议”);除非适用法律要求或已书面同意,否则未经许可不得使用此文件。您可以在以下地址获得许可协议的副本:
http://www.apache.org/licenses/LICENSE-2.0
除非法律要求或书面同意,否则在许可协议下分发的软件按“现状”提供,不提供任何明示或暗示的保证或条件。有关许可协议具体规定权限和限制的内容,请参阅许可协议。