Как запустить пакет ruby, установленный по альтернативному пути? - PullRequest
3 голосов
/ 06 ноября 2019

Я хочу собрать и опробовать этот проект github https://github.com/cmedley/terraforming

Я установил пакет (или gem? Извините, я не знаком с правильной терминологией Ruby) в другое место, запустивСкрипт setup в репозитории github:

./script/setup --path ../bin

Я вижу, что основной скрипт terraforming установлен под bin. Путь bin/ruby/2.3.0/bin/terraforming в этом случае.

Однако, когда я его запустил, я получил эту ошибку:

/ Система / Библиотека / Каркасы / Ruby.framework / Версии / 2.3/usr/lib/ruby/2.3.0/rubygems.rb:241:in bin_path': can't find gem terraforming (>= 0.a) (Gem::GemNotFoundException) from ../bin/ruby/2.3.0/bin/terraforming:22:in '

Как правильно вызвать этот сценарий terraforming из альтернативного места установки.

Ответы [ 2 ]

3 голосов
/ 10 ноября 2019

Для установки гема все еще может потребоваться gem install terraforming.

script/setup устанавливает только зависимости - в его коде видно, что он просто запускает bundle install, который устанавливает драгоценные камни во включенный gemfile . Этот гемфайл не включает в себя сам самоцвет terraforming, так как ожидает, что вы сделаете это самостоятельно.

2 голосов
/ 06 ноября 2019

Какое приложение вы используете? Rails? Синатра? У него есть gemfile? Если это так, вы сможете явно указать путь к гему:

gem 'terraforming', path: '/bin/ruby/2.3.0/bin/terraforming'

Для утилиты командной строки вам необходимо указать путь к гему с помощью $LOAD_PATH. Вы можете прочитать документы Ruby о том, что требуется код , или есть другие ответы на StackOverflow, которые могут быть полезны, например этот и этот .

...