Связывать exec или не связывать exec - PullRequest
2 голосов
/ 15 ноября 2011

Я создал гем, который предоставляет исполняемый файл.Теперь я бы хотел, чтобы пользователи моего гема могли использовать исполняемый файл независимо от их настроек, особенно в отношении RVM и Bundler.Некоторые пользователи устанавливают гем в глобальном масштабе:

gem install foobar

Некоторые пользователи устанавливают его внутри проектов с помощью Bundler:

echo "gem 'foobar'" > Gemfile && bundle

Некоторые пользователи имеют Gemset для проектов, другие - нет.

Моя проблема сейчас в том, что мой гем создает git hook, который на самом деле выглядит так:

#!/bin/sh
bundle exec foobar -dostuff

Этот подход не работает для пользователей, которые не устанавливали мой гем с помощью Bundler.Если я изменил это значение на:

#!/bin/sh
foobar -dostuff

, то у некоторых пользователей возникнут проблемы, поскольку не удается найти исполняемый файл или выполняется «неправильный» исполняемый файл.

Есть ли способ убрать этот беспорядок "bundle exec" и обеспечить поведение исполняемого файла, которое работает для всех пользователей?

С уважением, Феликс

1 Ответ

1 голос
/ 15 ноября 2011

Этот скрипт должен помочь - https://github.com/gma/bundler-exec/blob/master/bundler-exec.sh

Подробнее об этом здесь - http://effectif.com/ruby/automating-bundle-exec

...