从ANT任务执行wer更新



我想创建一个ANT任务,允许在我的项目中执行bower更新。

我写了这个目标:

    <target name="update-static-web-dependecy" description="Update static web dependency">
        <exec dir="${static-web.dir}" executable="/usr/local/bin/bower">
            <arg  value="update"/>
        </exec>
    </target>

但是当我要运行它时,我得到了这个错误:

env: node: No such file or directory

结果:127

在我的操作系统中,使用参数g -g正确安装了Bower,如果我从shell启动它,它会正常工作。

有人能帮帮我吗?

问候,洛伦佐

我猜您可以通过在exec块中的env元素中指定到节点的路径来解析。像这样

<property name="node.dir" value="/usr/local/bin"/>
<exec dir="${static-web.dir}" executable="/usr/local/bin/bower">
    <env key="PATH" value="${env.PATH}:${node.dir}"/>
    <arg value="update"/>
</exec>

对于任何想要在php中完成此操作的人来说,它稍微不那么复杂,但是Ant的答案可能会让您感到困惑。如果你知道鲍尔在哪里,你可以一次完成所有的工作:

<exec command="/usr/bin/bower install" dir="${dirs.httpdocs}" />

如果你正在做一些通用的事情,你可以检查是否存在bower。json:

<!-- bower exists -->
<property name="bowerExists" value="false" />
<exec command="if [ -f '${dirs.httpdocs}/bower.json' ]; then echo 'true'; else echo 'false'; fi;" 
      outputProperty="bowerExists" />
<if>
    <equals arg1="${bowerExists}" arg2="true" />
    <then>
        <echo>Installing Bower Packages</echo>
        <exec command="/usr/bin/bower install" dir="${dirs.httpdocs}" />
    </then>
</if>

来源:http://www.szabogabor.net/how-to-check-in-phing-if-a-file-or-directory-exists/

相关内容

  • 没有找到相关文章

最新更新