加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

红宝石 – 应该在系统范围内还是在用户层面安装rbenv?

发布时间:2020-12-16 20:10:06 所属栏目:百科 来源:网络整理
导读:我正在构建一个流氓设置,其中一部分是安装rbenv.我正在使用图书管理员厨师管理我所有的厨师食谱,并安装了rbenv和 ruby-build. 但是,当我试图将ssh插入我的Vagrant VM并输入ruby -v时,我得到了标准系统安装的ruby 1.8.7(2012-02-08 patchlevel 358)[x86_64-li
我正在构建一个流氓设置,其中一部分是安装rbenv.我正在使用图书管理员厨师管理我所有的厨师食谱,并安装了rbenv和 ruby-build.

但是,当我试图将ssh插入我的Vagrant VM并输入ruby -v时,我得到了标准系统安装的ruby 1.8.7(2012-02-08 patchlevel 358)[x86_64-linux].想想rbenv还没有安装,我尝试运行rbenv版本,但是rbenv其实是安装的:

vagrant@precise64:~$rbenv versions
* system (set by /opt/rbenv/version)

所以我试过rbenv install [version]:

vagrant@precise64:~$rbenv install 1.9.3-p327
[...]

BUILD FAILED
[...]

test -z "/opt/rbenv/versions/1.9.3-p327/include" || /bin/mkdir -p "/opt/rbenv/versions/1.9.3-p327/include"
/bin/mkdir: cannot create directory `/opt/rbenv/versions/1.9.3-p327': Permission denied

失败,权限被拒绝.我尝试用sudo重新安装:

sudo rbenv install 1.9.3-p327

而且有效然后我再次尝试运行rbenv版本:

vagrant@precise64:~$rbenv versions
* system (set by /opt/rbenv/version)

但是它仍然说只安装了系统红宝石.但是,如果我用sudo运行它:

vagrant@precise64:~$sudo rbenv versions
* system (set by /home/vagrant/.rbenv/version)
  1.9.3-p327

rbenv版本现在显示1.9.3已安装.

所以似乎有一个断开连接,因为rbenv和我的红宝石版本现在安装在系统级而不是用户级.

我正在使用rbenv-cookbook.我想要rbenv与厨师一起设置,因为这样可以让我手动安装,安装后.

我遇到的另一个问题是,似乎像Ruby这样的红宝石控制的一切都是同样的断断续续.

vagrant@precise64:~$gem install bundler
Fetching: bundler-1.3.5.gem (100%)
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions into the /opt/vagrant_ruby/lib/ruby/gems/1.8 directory.

解决方法

大约两年前,一个关于共享安装的 discussion happened in github,似乎回答了这个问题.

简介:sstephenson(rbenv作者)特别不喜欢鼓励系统级的安装,因为复杂的权限,写入访问等.他认为增加强大的支持将使rbenv更加复杂,简单性是目标.

编辑

我从来没有碰到过fnichol的厨师-rbenv菜谱,如果你真的想安装一个系统范围的rbenv,给出一个right and proper method,你可以用Chef自动化(我推荐刀子独奏).

它将其安装到/etc/profile.d/,以便所有用户运行,putting the proper ruby into the PATH.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读