Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby rbenv未使用Ubuntu 12.10_Ruby_Ubuntu_Rbenv - Fatal编程技术网

Ruby rbenv未使用Ubuntu 12.10

Ruby rbenv未使用Ubuntu 12.10,ruby,ubuntu,rbenv,Ruby,Ubuntu,Rbenv,我正在使用Ubuntu12.10,我正在尝试使用rbenv和bundler启动并运行我的项目 我已成功地从apt存储库安装了rbenv,并使用ruby build安装了所需的ruby版本 当我运行which gem时,我得到了全局/usr/bin/gem,我认为这是apt存储库安装附带的。但是,当我运行rbenv哪个gem时,我得到了正确的本地gem/home/kasuko/.rbenv/versions/1.9.2-p290/bin/gem 但是,当我运行gem安装捆绑程序时,在权限上出现了一

我正在使用Ubuntu12.10,我正在尝试使用rbenv和bundler启动并运行我的项目

我已成功地从apt存储库安装了rbenv,并使用ruby build安装了所需的ruby版本

当我运行
which gem
时,我得到了全局
/usr/bin/gem
,我认为这是apt存储库安装附带的。但是,当我运行rbenv哪个gem时,我得到了正确的本地gem
/home/kasuko/.rbenv/versions/1.9.2-p290/bin/gem

但是,当我运行
gem安装捆绑程序时,
在权限上出现了一个错误,“Permission denied-/var/lib/gems”,这使我相信它正在使用全局gem

因此,当我运行
/home/kasuko/.rbenv/versions/1.9.2-p290/bin/gem install bundler
时,它成功地安装了bundler

我的
~/.zshrc.local(源于我的~/.zshrc)
中确实有rbenv init行,并且我得到了更新的路径
“/home/kasuko/.rbenv/shimmers:/home/kasuko/.bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/sbin:/usr/sbin:/usr/sbin:/usr/games:/usr/local/games:/usr/local/games”
所以我很确定它安装正确

那么为什么没有使用我的rbenv垫片呢

谢谢
Kasuko

如果您不确定正在执行哪个
gem
,请尝试
gem env
,它将向您显示有关正在运行的
gem
版本的有用信息,例如rubygems版本、相应的ruby可执行文件、gem路径和其他好东西

你的道路似乎是正确的。尝试运行
hash-r
清除shell缓存中的可执行路径,以防万一

完成此操作后,
哪个gem
应该为您提供
/home/kasuko/.rbenv/shimmes/gem
,这将表明它将根据rbenv来确定要运行的实际可执行文件


然后,您可能需要运行
rbenv-rehash
。每次安装带有可执行文件(如bundler、rake等)的新gem时,都应该运行这个程序。它将更新所有垫片,以指向正确的可执行文件。

是的,看来一定是缓存问题。我最近重新启动了我的计算机,当我去执行你的答案时,它显示它现在已经是shim gem了。是的,bash只记得同一个shell中可执行文件的位置,我想,因此不需要重新设置。