Câu trả lời:
Sử dụng gem environment
để tìm hiểu về môi trường đá quý của bạn:
RubyGems Environment:
- RUBYGEMS VERSION: 2.1.5
- RUBY VERSION: 2.0.0 (2013-06-27 patchlevel 247) [x86_64-darwin12.4.0]
- INSTALLATION DIRECTORY: /Users/ttm/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0
- RUBY EXECUTABLE: /Users/ttm/.rbenv/versions/2.0.0-p247/bin/ruby
- EXECUTABLE DIRECTORY: /Users/ttm/.rbenv/versions/2.0.0-p247/bin
- SPEC CACHE DIRECTORY: /Users/ttm/.gem/specs
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-darwin-12
- GEM PATHS:
- /Users/ttm/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0
- /Users/ttm/.gem/ruby/2.0.0
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- https://rubygems.org/
- SHELL PATH:
- /Users/ttm/.rbenv/versions/2.0.0-p247/bin
- /Users/ttm/.rbenv/libexec
- /Users/ttm/.rbenv/plugins/ruby-build/bin
- /Users/ttm/perl5/perlbrew/bin
- /Users/ttm/perl5/perlbrew/perls/perl-5.18.1/bin
- /Users/ttm/.pyenv/shims
- /Users/ttm/.pyenv/bin
- /Users/ttm/.rbenv/shims
- /Users/ttm/.rbenv/bin
- /Users/ttm/bin
- /usr/local/mysql-5.6.12-osx10.7-x86_64/bin
- /Users/ttm/libsmi/bin
- /usr/local/bin
- /usr/bin
- /bin
- /usr/sbin
- /sbin
- /usr/local/bin
Lưu ý hai phần cho:
INSTALLATION DIRECTORY
GEM PATHS
gem env
viết tắt
EXECUTABLE DIRECTORY
.
EXECUTABLE DIRECTORY
chứa các phiên bản thực thi CLI được cài đặt bởi các viên đá quý, nhưng bản thân nó không phải là các viên đá quý.
Tôi thấy hữu ích để có được một vị trí của tệp thư viện với:
gem which *gemname*
gem which 'logstash/inputs/tcp.rb'
Sau khi cài đặt đá quý, nếu bạn muốn biết đá quý cụ thể ở đâu. Hãy thử gõ:
gem list
Bạn sẽ có thể xem danh sách các loại đá quý bạn đã cài đặt. Bây giờ sử dụng bundle show
và đặt tên cho viên ngọc bạn muốn biết đường dẫn, như thế này:
bundle show <gemName>
Could not locate Gemfile or .bundle/ directory
.
gem env
) chỉ hiển thị thư mục mẹ cho gems
thư mục : /home/test/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0
. Có một số thư mục bên trong nó và đá quý của bạn có thể nằm trong hầu hết mọi thư mục - đó là những gì bundle show <gemName>
hiển thị chính xác (và gem env
) không.
Để hoàn thành các câu trả lời khác, gem gem-path có thể tìm đường dẫn cài đặt của một gem cụ thể.
Cài đặt:
gem install gem-path
Sử dụng:
gem path rails
=> /home/cbliard/.rvm/gems/ruby-2.1.5/gems/rails-4.0.13
gem path rails '< 4'
=> /home/cbliard/.rvm/gems/ruby-2.1.5/gems/rails-3.2.21
Điều này thực sự tiện dụng vì bạn có thể sử dụng nó để grep hoặc chỉnh sửa tệp:
grep -R 'Internal server error' "$(gem path thin)"
subl "$(gem path thin)"
Bạn có thể kiểm tra nó từ dấu nhắc lệnh của mình bằng cách chạy gem help commands
và sau đó chọn lệnh thích hợp:
kirti@kirti-Aspire-5733Z:~$ gem help commands
GEM commands are:
build Build a gem from a gemspec
cert Manage RubyGems certificates and signing settings
check Check a gem repository for added or missing files
cleanup Clean up old versions of installed gems in the local
repository
contents Display the contents of the installed gems
dependency Show the dependencies of an installed gem
environment Display information about the RubyGems environment
fetch Download a gem and place it in the current directory
generate_index Generates the index files for a gem server directory
help Provide help on the 'gem' command
install Install a gem into the local repository
list Display gems whose name starts with STRING
lock Generate a lockdown list of gems
mirror Mirror all gem files (requires rubygems-mirror)
outdated Display all gems that need updates
owner Manage gem owners on RubyGems.org.
pristine Restores installed gems to pristine condition from
files located in the gem cache
push Push a gem up to RubyGems.org
query Query gem information in local or remote repositories
rdoc Generates RDoc for pre-installed gems
regenerate_binstubs Re run generation of executable wrappers for gems.
search Display all gems whose name contains STRING
server Documentation and gem repository HTTP server
sources Manage the sources and cache file RubyGems uses to
search for gems
specification Display gem specification (in yaml)
stale List gems along with access times
uninstall Uninstall gems from the local repository
unpack Unpack an installed gem to the current directory
update Update installed gems to the latest version
which Find the location of a library file you can require
yank Remove a specific gem version release from
RubyGems.org
For help on a particular command, use 'gem help COMMAND'.
Commands may be abbreviated, so long as they are unambiguous.
e.g. 'gem i rake' is short for 'gem install rake'.
kirti@kirti-Aspire-5733Z:~$
Bây giờ từ trên tôi có thể thấy lệnh environment
là hữu ích. Vì vậy, tôi sẽ làm:
kirti@kirti-Aspire-5733Z:~$ gem help environment
Usage: gem environment [arg] [options]
Common Options:
-h, --help Get help on this command
-V, --[no-]verbose Set the verbose level of output
-q, --quiet Silence commands
--config-file FILE Use this config file instead of default
--backtrace Show stack backtrace on errors
--debug Turn on Ruby debugging
Arguments:
packageversion display the package version
gemdir display the path where gems are installed
gempath display path used to search for gems
version display the gem format version
remotesources display the remote gem servers
platform display the supported gem platforms
<omitted> display everything
Summary:
Display information about the RubyGems environment
Description:
The RubyGems environment can be controlled through command line arguments,
gemrc files, environment variables and built-in defaults.
Command line argument defaults and some RubyGems defaults can be set in a
~/.gemrc file for individual users and a /etc/gemrc for all users. These
files are YAML files with the following YAML keys:
:sources: A YAML array of remote gem repositories to install gems from
:verbose: Verbosity of the gem command. false, true, and :really are the
levels
:update_sources: Enable/disable automatic updating of repository metadata
:backtrace: Print backtrace when RubyGems encounters an error
:gempath: The paths in which to look for gems
:disable_default_gem_server: Force specification of gem server host on
push
<gem_command>: A string containing arguments for the specified gem command
Example:
:verbose: false
install: --no-wrappers
update: --no-wrappers
:disable_default_gem_server: true
RubyGems' default local repository can be overridden with the GEM_PATH and
GEM_HOME environment variables. GEM_HOME sets the default repository to
install into. GEM_PATH allows multiple local repositories to be searched for
gems.
If you are behind a proxy server, RubyGems uses the HTTP_PROXY,
HTTP_PROXY_USER and HTTP_PROXY_PASS environment variables to discover the
proxy server.
If you would like to push gems to a private gem server the RUBYGEMS_HOST
environment variable can be set to the URI for that server.
If you are packaging RubyGems all of RubyGems' defaults are in
lib/rubygems/defaults.rb. You may override these in
lib/rubygems/defaults/operating_system.rb
kirti@kirti-Aspire-5733Z:~$
Cuối cùng để cho bạn thấy những gì bạn yêu cầu, tôi sẽ làm:
kirti@kirti-Aspire-5733Z:~$ gem environment gemdir
/home/kirti/.rvm/gems/ruby-2.0.0-p0
kirti@kirti-Aspire-5733Z:~$ gem environment gempath
/home/kirti/.rvm/gems/ruby-2.0.0-p0:/home/kirti/.rvm/gems/ruby-2.0.0-p0@global
kirti@kirti-Aspire-5733Z:~$
gem help commands
. Và tôi nên viết rằng tôi đang sử dụng rbenv.
Bạn có thể lừa gem open
hiển thị đường dẫn đá quý:
VISUAL=echo gem open gem-name
Thí dụ:
VISUAL=echo gem open rails
=> /usr/local/opt/asdf/installs/ruby/2.4.3/lib/ruby/gems/2.4.0/gems/rails-5.1.4
Nó chỉ hoạt động, và không có đá quý bên thứ ba là cần thiết.
-e
tùy chọn ( -e echo
), nếu việc này dễ hơn là đặt biến môi trường.
gem env
hoạt động giống như gem environment
. Tiết kiệm một số gõ.
# gem env
RubyGems Environment:
- RUBYGEMS VERSION: 2.0.14
- RUBY VERSION: 2.0.0 (2014-02-24 patchlevel 451) [i686-linux]
- INSTALLATION DIRECTORY: /usr/local/lib/ruby/gems/2.0.0
- RUBY EXECUTABLE: /usr/local/bin/ruby
- EXECUTABLE DIRECTORY: /usr/local/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86-linux
- GEM PATHS:
- /usr/local/lib/ruby/gems/2.0.0
- /root/.gem/ruby/2.0.0
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- https://rubygems.org/
gem help commands
Thu nhập " lệnh có thể được viết tắt, vì vậy miễn là họ có rõ ràng. ví dụ như 'viên ngọc i cào' là viết tắt của 'gem install cào'. " Nói cách khác, gem environment
, gem env
và gem e
tất cả công việc nhưng gem environment
là tự tài liệu cho những ai không biết những gì nó đang làm vì vậy chúng ta nên sử dụng nó cho những người lần đầu tiên.
Các gem env
danh sách nơi đá quý có thể được cài đặt, nhưng điều này có thể là 10 hoặc nhiều địa điểm. Nếu bạn muốn biết nơi một viên ngọc cụ thể được cài đặt, bạn có thể thực thi:
gem list -d <gemname>
Ví dụ đầu ra:
tilt (2.0.9)
Author: Ryan Tomayko
Homepage: http://github.com/rtomayko/tilt/
License: MIT
Installed at: /opt/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0
Generic interface to multiple Ruby template engines
Điều này hoạt động và cung cấp cho bạn cài đặt tại đường dẫn cho mỗi đá quý. Điều này siêu hữu ích khi cố gắng thực hiện các bản dựng docker nhiều giai đoạn .. Bạn có thể sao chép trong thư mục cài đặt sau gói cụ thể.
bash-4.4# gem list -d
Đầu ra ::
aasm (5.0.6)
Authors: Thorsten Boettger, Anil Maurya
Homepage: https://github.com/aasm/aasm
License: MIT
Installed at: /usr/local/bundle
State machine mixin for Ruby objects
GEM PATHS
chỉ được sử dụng đầu tiên. Có đúng không?