我正在构建一个流氓设置,其中一部分是安装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
.