我正在尝试编写一个与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,我都希望构建脚本能够正常工作使用
我也愿意接受更好的方法。
答案 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