How to solve “/usr/bin/env: ruby_executable_hooks:

2020-01-27 02:21发布

问题:

I just deploy jekyll in a vps, and config git post-receive hook on it. When I push blog update to vps from my laptop, I run into this error:

remote: /usr/bin/env: ruby_executable_hooks: No such file or directory

I searched for a while, and tried the method proposed in this post: bundle update: env: ruby_executable_hooks: No such file or directory, i.e., executing the commands below:

rvm @global do gem regenerate_binstubs
gem regenerate_binstubs

But it doesn't help, the error remains. Since I'm not familiar with rvm or ruby, could anyone give me a hint?

回答1:

use wrappers, example:

$ which jekyll
# /path/to/rvm/gems/ruby-version/bin/jekyll

in the returned path replace bin with wrappers so you get:

/path/to/rvm/gems/ruby-version/wrappers/jekyll

this is a script that will load proper environment and fix your problem, wrappers are generated automatically withing RVM.



回答2:

You need to refresh the executable-hooks to the latest version by running following command in the Terminal:

sudo gem install --user-install executable-hooks



回答3:

I had the same problem, but I have bundler, not rubygems-bundler, and my gem doesn't recognise regenerate_binstubs.

rvm all-gemsets do gem update bundler installed bundler 1.7.11 and fixed it for me.



回答4:

Updating ruby gems worked for me

gem install rubygems-update
update_rubygems