我知道问题出在哪里,但我不知道如何解决。我的问题是当我运行脚本/ post-recieve时。我收到错误env: node: No such file or directory
。我认为可能是因为它是一个非交互式外壳。而且我应该更改$ PATH,但是我对了解我需要做的事情还不够了解。当我获取文件时,npm可以解决任何问题。仅当我远程调用该脚本时才会发生。
所以我正在使用自制的nodev8和postgres。 我也有nvm管理节点
这是我的剧本:
#!/usr/bin/env bash
. $NVM_DIR/nvm.sh
echo 'post-receive: Triggered.'
cd /Users/david/Development/abba/live/404
echo 'post-receive: git check out...'
git --git-dir=/Users/david/Development/abba/404.git --work-tree=/Users/david/Development/abba/live/404 checkout master -f
/Users/david/.nvm/v8.15.0/bin/npm install && echo 'post-receive: -> done.'
哪个节点/Users/david/.nvm/v8.15.0/bin/node
$ PATH /Users/david/.nvm/v8.15.0/bin:/usr/local/opt/node@8/bin:/usr/local/opt/node@8/bin:/usr/local/opt/node@8/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/opt/node@8/bin:/usr/local/opt/node@8/bin
我的bash_profile
export PATH="/usr/local/opt/node@8/bin:"
export NVM_DIR="/Users/david/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
答案 0 :(得分:1)
当我试图让git post-receive hook触发构建步骤时,我遇到了同样的问题。就我而言,我通过将节点二进制文件符号链接到/ usr / bin / folder
解决了该问题。pod 'Alamofire', ~>'4.8.2'
我发现了一个github问题,这里有一个类似的错误:https://github.com/animetosho/Nyuu/issues/14。
在该问题中,他们使用了
ln -s `which node` /usr/bin/node