7

我正在使用带有 rbenv 和各种红宝石的最新 vagrant。

我正在使用最新的 vagrant,它不再使用 gem。当我执行 vagrant 命令时,我看到以下错误:

rbenv: vagrant: command not found

我已经从所有 ruby​​ 环境中删除了旧的 vagrant gem,但是每次我“cd”vagrant shim 都会重新生成,这意味着 vagrant 停止工作,直到我手动 rm shim:

rm /home/{user}/.rbenv/shims/vagrant   

有没有办法强制 rbenv 停止这种行为?

正在使用的 rbenv 插件”:

  • 红宝石构建
  • rbenv-gemset
4

3 回答 3

5

在 rbenv 中解决此问题之前,您可以这样做:

alias vagrant /full/path/to/vagrant

然后每次运行 vagrant 时,都会执行实际的 vagrant 二进制文件,而不是 shim。

于 2013-05-19T20:21:43.237 回答
3

尝试:

ls ~/.rbenv/versions/*/bin | grep 'vagrant'

如果有 gemset 插件

ls ~/.rbenv/*/gemsets/*/bin/ | grep 'vagrant'

如果命令返回结果,请删除文件。这次跑完之后rbenv rehash

于 2013-05-18T12:44:57.920 回答
3

其他人显然也有同样的问题;见https://github.com/sstephenson/rbenv/issues/388

如果您使用rbenv的 bundler 插件,那么出售一个使用 vagrant gem 的项目显然会导致构建 shim;尝试删除 bundler 插件,删除 vagrant shim,然后运行rbenv rehash以查看问题是否已修复。

如果你没有使用 bundler 插件,你能给我们一份你正在使用的所有 rbenv 插件的列表吗?

于 2013-05-18T22:37:37.167 回答