Nat*_*han 16 ruby rubygems rbenv
为了澄清,我正在使用rbenv
管理我的ruby版本.我的印象是二进制文件shims
在各自的ruby版本目录中进行管理.
这是我的系统在运行gem环境时显示的内容(我排除了不相关的部分):
- GEM PATHS:
- /Volumes/Data/nathan/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1
- /Volumes/Data/nathan/.gem/ruby/1.9.1
Run Code Online (Sandbox Code Playgroud)
有两个地点的任何理由?好奇的人想知道.
Nat*_*han 15
我想我找到了这个问题的答案,所以我会发布它.
Rbenv允许全局和/或本地版本的ruby.因此,一旦通过rbenv安装和管理ruby,您就可以将其声明为整个系统使用的全局ruby版本.
同样,您可以在给定目录中声明本地ruby版本(例如:特定的rails项目).
您的主路径中的.gem文件由全局ruby版本使用,其中隐藏在rbenv目录中的文件由本地ruby版本使用.
注意,您可以(无论出于何种原因)声明与全局版本相同的本地版本.在这种情况下,本地版本将依赖于更深层次的rbenv目录中的gem文件,而不是〜/ .gem目录.
请记住,像rbenv和rvm这样的ruby版本管理器是相对较新的创作.在它们存在之前,管理员用户通常会在系统范围的位置安装ruby,例如/ usr/local.但非管理员需要一个地方来安装他们自己的宝石,因为他们没有/ usr/local下的写权限.因此,rubygems创建者决定在当前用户的主目录中添加辅助gem路径,该路径具有与系统位置类似的结构.
以下是宝石路径在过去的样子:
- /usr/local/lib/ruby/gems/1.9.1
- /Users/kelvin/.gem/ruby/1.9.1
Run Code Online (Sandbox Code Playgroud)
仍然可能有像这样安装ruby的机器,你仍然可以使用自动辅助宝石路径.当然,您也可以使用GEM_PATH环境变量添加更多路径,但自动路径更适合处理常见情况.
如果您拥有管理员权限,或者你使用版本管理器,你可以,如果你会忽略〜/ .gem DIR为神器,过去的遗迹.
归档时间: |
|
查看次数: |
15914 次 |
最近记录: |