Where do gems install?

2019-01-20 23:46发布

I'm trying to edit one of the gem's config files and I can't find it. I'm not sure how I did this in the past.

4条回答
做自己的国王
2楼-- · 2019-01-21 00:11

Rvm

$ rvm gemdir

Or you can check:

echo $GEM_HOME

Bundler

$ bundle show --paths

For specific gem:

$ bundle show 'gem_name'

Gem

$ gem env

For specific gem:

$ gem which 'gem_name'
查看更多
Anthone
3楼-- · 2019-01-21 00:12

Look at your gem environment.

In a terminal run gem env

You should see an entry INSTALLATION DIRECTORY, but there is also GEM PATHS which is where it's loading all your gems from in your current environment.

查看更多
Rolldiameter
4楼-- · 2019-01-21 00:19

If you are editing the gem's installed files, then the gem wasn't implemented correctly, or you are not modifying it correctly.

Proper gems are usually configured:

  • via an initializer script on config/initializers
  • via monkeypatching on lib
  • via generators provided by the gem itself. These tend to generate lots of files, but they usually have a "initialize" or "install" option for setting up the gem.
查看更多
等我变得足够好
5楼-- · 2019-01-21 00:25

To see the default installation directory, run

gem env gemdir

If you want to change the default installation directory (for example, to ~/.gem/ruby/2.1.0), add this line to ~/.bashrc

export GEM_HOME=~/.gem/ruby/2.1.0

And you also need to make sure ~/.gem/ruby/2.1.0/bin is in your PATH environment variable to use the commands provided by gem packages. If not, add this line to ~/.bashrc

export PATH=$PATH:~/.gem/ruby/2.1.0/bin

查看更多
登录 后发表回答