当我运行gem env
时,我明白了:
RubyGems Environment:
- RUBYGEMS VERSION: 2.0.3
- RUBY VERSION: 2.0.0 (2013-06-27 patchlevel 247) [universal.x86_64-darwin13]
- INSTALLATION DIRECTORY: /Users/th/.rvm/gems/ruby-1.9.3-p448
- RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
- EXECUTABLE DIRECTORY: /Users/th/.rvm/gems/ruby-1.9.3-p448/bin
- RUBYGEMS PLATFORMS:
- ruby
- universal-darwin-13
- GEM PATHS:
- /Users/th/.rvm/gems/ruby-1.9.3-p448
- /Users/th/.rvm/gems/ruby-1.9.3-p448@global
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- https://rubygems.org/
Ruby可执行文件和可执行文件目录不同。当我安装gem并使用require 'gem_name'
时,我收到一个错误,我找不到该文件。如何将可执行文件目录更改为一致的内容,例如:
/Users/th/.rvm/ruby
另外,如何查看.rvm目录以查找Ruby可执行文件?我试图显示隐藏文件,但这似乎不起作用。
答案 0 :(得分:0)
您正在使用RVM,但您的设置将系统Ruby作为可执行文件。
在命令行类型:
rvm list
您应该会看到已安装的Ruby版本列表
rvm rubies
ruby-1.9.2-p320 [ x86_64 ]
ruby-1.9.3-p392 [ x86_64 ]
ruby-1.9.3-p429 [ x86_64 ]
=> ruby-2.0.0-p0 [ x86_64 ]
* ruby-2.0.0-p353 [ x86_64 ]
# => - current
# =* - current && default
# * - default
您可以使用rvm命令设置默认的ruby解释器。如果你没有它,我会安装最新版本的1.9.3和2.1.0。您可以使用RVM安装新的Rubies:
rvm install ruby-1.9.3-p484
然后您可以将其中一个设为默认
rvm use ruby-2.0.0-p353 --default
将2.0.0 p353设置为默认的ruby解释器,除非你为你正在使用的任何特定目录设置它。如果你想对某个项目使用1.9.3,你可以设置该项目使用它版。
答案 1 :(得分:0)
同样,如果您使用的是rbenv,则可以使用rbenv versions命令:
$ rbenv versions
system
* 1.8.7-p375 (set by /home/ianh/Projects/Github/railsapp_factory/.ruby-version)
1.9.3-p484
2.0.0-p353
2.1.0
jruby-1.7.9
rbx-2.2.5
使用rbenv global|local|shell version
分别设置全局,本地目录或此shell会话的版本。
我键入第一部分,例如1.9并使用制表符完成来完成完整版本字符串。否则,请安装rbenv-use插件并使用rbenv use 1.9
交换红宝石。
单独输入rbenv
以获取基本帮助,或rbenv help command
输入特定命令的帮助:
$ rbenv
rbenv 0.4.0-89-g14bc162
Usage: rbenv <command> [<args>]
Some useful rbenv commands are:
commands List all available rbenv commands
local Set or show the local application-specific Ruby version
global Set or show the global Ruby version
shell Set or show the shell-specific Ruby version
install Install a Ruby version using ruby-build
uninstall Uninstall a specific Ruby version
rehash Rehash rbenv shims (run this after installing executables)
version Show the current Ruby version and its origin
versions List all Ruby versions available to rbenv
which Display the full path to an executable
whence List all Ruby versions that contain the given executable
See 'rbenv help <command>' for information on a specific command.
For full documentation, see: https://github.com/sstephenson/rbenv#readme
$ rbenv help use
Usage: rbenv use NAME [--global|--shell|--local]
Switches Ruby versions without having to keep patchlevels in mind.
$
我个人更喜欢rbenv,因为它使用了一种不那么复杂的方法 - 请参阅http://jonathan-jackson.net/rvm-and-rbenv进行轻松的比较。
答案 2 :(得分:0)
这是更改RUBY EXECUTABLE路径的另一种方法。
tldr; 使用rbenv卸载/重新安装ruby版本
在我的情况下,我看到了一个奇怪的gem环境,其中包含两个不同的可执行文件用户名路径和安装路径。因为我只有一个用户名路径具有写权限,所以这阻止了正确的安装。
MacOS 10.15.2 安装了rbenv的Homebrew,包含系统和2.6.5版本 多个用户可以访问rbenv
解决方案是先进行rbenv卸载2.6.5,然后进行rbenv安装2.6.5。
我尝试不能完全解决我的情况的其他内容包括: