1

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

我也愿意接受有关更好的方法的建议。

4

1 回答 1

1

听起来像一个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
于 2015-02-25T05:04:58.370 回答