Shell 使用 ember 构建脚本

Shell build script with ember

我正在尝试编写一个用于 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 版本,我都希望构建脚本能够正常工作使用。

我也乐于接受有关更好的方法的建议。

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

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