转储从作曲家陌生的环境问题



我有作曲家设置运行asset:dump:

"scripts": {
        "post-install-cmd": [
            "Incenteev\ParameterHandler\ScriptHandler::buildParameters",
            "Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::buildBootstrap",
            "Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache",
            "Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installAssets",
            "Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installRequirementsFile",
            "php app/console assetic:dump --env=prod",
            "php app/console cache:clear --env=prod"
        ],

当我SSH到我的服务器并运行composer install时,它工作得很好,没有任何问题。然而,当我从git后更新钩子运行composer install时,我得到了关于ruby无法找到指南针的奇怪错误。Ruby和compass都正确安装,当我手动运行composer install时,它工作正常。

我是否遇到了一些环境问题?

编辑:

实际的错误信息是:

...../rubygems/dependency.rb:298:in `to_specs`: Could not find 'compass' (>= 0) among 14 total gem(s) (Gem::LoadError)

我找到了问题所在。git部署脚本在不包含GEM_PATH环境变量的环境中运行。通过在git钩子脚本中运行assetic:dump之前添加这一行,一切都工作了:

export GEM_PATH=/usr/local/rvm/gems/ruby-2.1.2:/usr/local/rvm/gems/ruby-2.1.2@global

最新更新