我的共享主机没有提供 git,因此我将其构建并安装到 ~/bin 中。 当我运行它时,大多数命令都出现以下错误,尽管它们是成功的。
stdin: is not a tty
我可以通过添加以下内容来解决该问题:
default_run_options[:pty] = true
到我的deploy.rb,但随后我收到此错误,这会阻止部署:
sh: git: command not found
如何解决这两个错误?
我尝试使用 "PATH=$PATH:$HOME/bin"添加 ~/.ssh/environment 文件
(并更改 sshd_config 以使用它),但它什么也没做。
似乎 capistrano 使用的任何 shell 都没有使用远程服务器上的 ~/.bashrc 或 ~/.bash_profile。
有什么想法如何在远程计算机上设置路径吗?
其他信息:我在本地使用 OS X,共享服务器是 Site5 上的 linux。
最佳答案
谢谢,Chu - 你让我走上了正确的道路。
仅使用:set :scm_command, "~/bin/git"
仍然给我错误,因为我的本地 git 不在那个地方。
但是,以下方法似乎有效,并且可以解决我的问题:
set :scm_command, "~/bin/git"<br/>
set :local_scm_command, "/usr/local/bin/git"
关于ruby-on-rails - 当远程 git 位于非标准路径上时使用 capistrano,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/279705/