Shell构建脚本与ember

时间:2015-02-12 02:24:59

标签: bash ember-cli watchman

我正在尝试编写一个与Facebook watchman和我的ember-cli应用程序一起使用的构建脚本。

我的构建脚本是:

#!/bin/sh

cd ..
ember build
cd ..
cp ./ember-app/dist/index.html ./slim-app/app/templates/app.php
cp -r ./ember-app/dist/assets/ ./slim-app/public/assets/

我的守望者命令是:

watchman -- trigger $PWD/ember-app/app 'ember-build' '**' -- sh $PWD/build.sh

Watchman触发并发现我的脚本很好但是当我查看日志时,我收到一条错误,说无法找到ember。我不确定为什么,因为当我运行sh build.sh时,一切正常。

有什么方法可以像which ember这样来确定ember的路径并直接使用它吗?我知道我可以做which ember并将该路径复制并粘贴到脚本中,但我真的不想这样做,因为无论我使用哪个版本的node / nvm,我都希望构建脚本能够正常工作使用

我也愿意接受更好的方法。

1 个答案:

答案 0 :(得分:1)

听起来像PATH问题。当watchman首次启动时,由于我们的launchd集成中的错误,它会捕获您的PATH环境变量,目前OS X除外。 https://github.com/facebook/watchman/issues/68对尴尬的解决方法提出了一些建议。 另一种可能性是在构建脚本中添加一行来设置PATH:

# Add the path to ember in here somewhere
PATH=/usr/local/bin:$PATH