0

我尝试通过首先删除 rvm 从使用 rvm 在 OSX 上管理我的 Ruby gem 切换到 rbenv。rbenv 似乎从未接管,which ruby或者which rails总是返回系统版本。

沮丧和睡眠不足,我决定删除 /usr/bin/rails 看看这是否会强制系统使用 rbenv 中指定的版本,它没有,现在根本找不到 rails 。

Emmaline:rvm Turnsole$ which ruby
/usr/bin/ruby
Emmaline:rvm Turnsole$ which rails
Emmaline:rvm Turnsole$ ruby -v
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0]
Emmaline:rvm Turnsole$ rails -v
-bash: rails: command not found
Emmaline:rvm Turnsole$ 

我意识到我所做的很愚蠢,但现在即使gem install rails成功完成,/usr/bin/rails 中也没有任何内容。

此外,在重新安装 rvm 后,我尝试运行位于本地 gems 目录中的 rails 脚本(或从 /usr/bin 到它的符号链接),然后会发生这种情况:

Emmaline:~ Turnsole$ ~/.gem/ruby/1.8/bin/rails
env: ruby_noexec_wrapper: No such file or directory

我该怎么办?

4

1 回答 1

1

我仍然不完全确定出了什么问题,但似乎 rvm 安装了捆绑器,由于 ruby​​_noexec_wrapper (属于捆绑器)被插入到各种东西中,它在它消失时搞砸了。

最终解决方案是卸载 bundler,然后是 railties(从我的本地目录中删除了 rails),然后使用 sudo 重新安装 rails。

无论如何,现在我有 /usr/bin/rails 回来了。我想了解这个 ruby​​_noexec_wrapper 脚本为什么/如何成为我所有 gem 的一部分,但这是 google 可能会提供的另一个问题。

于 2013-06-23T19:03:11.450 回答