如何解决"/ usr/bin/env:ruby_executable_hooks:没有这样的文件或目录"?

Nan*_* Ma 59 ruby git jekyll rvm

我只是在一个vps中部署jekyll,并在其上配置git post-receive hook.当我从我的笔记本电脑推动博客更新到vps时,我遇到了这个错误:

remote: /usr/bin/env: ruby_executable_hooks: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我搜索了一会儿,尝试了这篇文章中提出的方法:bundle update:env:ruby_executable_hooks:没有这样的文件或目录,即执行以下命令:

rvm @global do gem regenerate_binstubs
gem regenerate_binstubs
Run Code Online (Sandbox Code Playgroud)

但它没有帮助,错误仍然存​​在.由于我不熟悉rvm或ruby,有人能给我一个提示吗?

mpa*_*pis 150

使用包装器,例如:

$ which jekyll
# /path/to/rvm/gems/ruby-version/bin/jekyll
Run Code Online (Sandbox Code Playgroud)

在返回的路径中替换为bin,wrappers所以你得到:

/path/to/rvm/gems/ruby-version/wrappers/jekyll
Run Code Online (Sandbox Code Playgroud)

这是一个加载适当环境并修复问题的脚本,使用RVM自动生成包装器.

  • 它在mac或linux上的工作方式相同,`wrappers`的路径包含环境,`bin`的路径 - 不包含 - 所以它不会知道其余的宝石 (3认同)
  • 完美搭配`systemd`.谢谢. (2认同)

Yas*_* T. 25

您需要executable-hooks通过在以下命令中运行以下命令来刷新到最新版本Terminal:

sudo gem install --user-install executable-hooks

  • 有趣的是,这又发生在我身上,然后我第二次找到了这个答案,它又解决了我的问题......哈哈 (4认同)

PJS*_*and 5

我有同样的问题,但我有bundler,不rubygems-bundler,而且我gem不认识regenerate_binstubs.

rvm all-gemsets do gem update bundler 安装捆绑器1.7.11并为我修复它.