
Я использую некоторые локально установленные gem-пакеты в своей среде и хотел бы изменить путь EXECUTABLE DIRECTORY
к~/.gem/bin
Как мне этого добиться?
$gem env
- RUBYGEMS VERSION: 2.2.2
- RUBY VERSION: 2.1.5 (2014-11-13 patchlevel 273) [x86_64-linux]
- INSTALLATION DIRECTORY: /home/flyer/.gem/ruby
- RUBY EXECUTABLE: /usr/bin/ruby
- EXECUTABLE DIRECTORY: /home/flyer/bin
- SPEC CACHE DIRECTORY: /home/flyer/.gem/specs
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-linux
- GEM PATHS:
- /home/flyer/.gem/ruby
- /usr/share/gems
- /usr/local/share/gems
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- https://rubygems.org/
- SHELL PATH:
- /usr/local/bin
- /usr/local/sbin
- /usr/bin
- /usr/sbin
- /bin
- /sbin
- /home/flyer/.local/bin
- /home/flyer/bin
- /home/flyer/.local/bin
- /home/flyer/bin
решение1
Если вашим намерением былоустановить исполняемые файлы gems в~/.gem/bin
, вы можете установить в ~/.gemrc
:
gem:
--bindir ~/.gem/bin
# any other gem settings like:
--no-ri --no-rdoc
Он НЕ изменится EXECUTABLE DIRECTORY
, но исполняемые файлы gems будут установлены в ~/.gem/bin
. Вы можете проверить, что он установлен:
$ gem env
- GEM CONFIGURATION:
- "gem" => "--bindir ~/.gem/bin --no-ri --no-rdoc"
Чтобы иметь возможность вызывать их, добавьте этот каталог в начало вашего PATH
.
решение2
Можешь попробовать
$ export GEM_HOME = ~/.gem
Это изменит ваш исполняемый каталог gem на~/.gem/bin
Вы можете подтвердить это, запустив $ gem env
еще раз
Если это сработает, вы можете сделать это постоянным, добавив export GEM_HOME=$HOME/.gem
в конец файла .bashrc или .zshrc.
Надеюсь, это поможет!
решение3
Вот строки для .bashrc / .zshrc
:
#Ruby + GEM
export GEM_HOME=$HOME/.gem
export PATH=$GEM_HOME/bin:$PATH
После этого все мои драгоценные камни начинают работать.