7

在尝试更新 OpenSSL 时 - 我(似乎)破坏了笔记本电脑上围绕 Ruby 和 Rails 的所有内容。即使在卸载 ruby​​ 和 rails 之后gem uninstallrvm remove我仍然遇到这个错误:

Drews-MacBook-Pro:bookstore drewwyatt$ rails server
bin/rails:3: undefined method `require_relative' for main:Object (NoMethodError)

几个月来一切都很好,直到我到处乱跑——更糟糕的是,我什至不确定我做了什么把事情搞砸了。

额外信息

Drews-MacBook-Pro:bookstore drewwyatt$ ruby -v
ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin12.3.0]
Drews-MacBook-Pro:bookstore drewwyatt$ which ruby
/Users/drewwyatt/.rvm/rubies/ruby-2.0.0-p247/bin/ruby
Drews-MacBook-Pro:bookstore drewwyatt$ rails -v
bin/rails:3: undefined method `require_relative' for main:Object (NoMethodError)
Drews-MacBook-Pro:bookstore drewwyatt$ which rails
/Users/drewwyatt/.rvm/rubies/ruby-2.0.0-p247/bin/rails
Drews-MacBook-Pro:bookstore drewwyatt$ 

更新 - 不使用 sudo 安装

Drews-MacBook-Pro:~ drewwyatt$ gem install rails
Fetching: railties-4.0.0.gem (100%)
ERROR:  While executing gem ... (Errno::EACCES)
    Permission denied - /Users/drewwyatt/.rvm/gems/ruby-2.0.0-p247/bin/ruby_executable_hooks
Drews-MacBook-Pro:~ drewwyatt$ 
4

5 回答 5

10

我通过完全删除 Rails、Ruby 和 RVM 解决了这个问题——然后从头开始。

我不记得确切的所有命令,但它是这样的:

sudo gem uninstall rails
sudo rvm remove 2.0
rvm implode
sudo chown -R drewwyatt: ~/.rvm/
rm -rf ~/.rvm
\curl -L https://get.rvm.io | bash -s stable --rails
rvm use 2.0
gem install rails
于 2013-09-21T21:39:57.417 回答
10

这是在使用 Rails Composer 安装 rails 后出现的。似乎 RVM 选择 ruby​​ 版本存在问题,诀窍是简单地导航出并返回文件夹。

$ cd ..
$ cd myapp

于 2013-11-12T23:20:58.770 回答
6

我可以通过简单地运行来解决这个问题gem install rails

当我克隆一个预先存在的 Rails 4 应用程序时出现了这个问题。我正在使用 ruby​​-2.0.0-p317 和一个特定于这个应用程序的 RVM gemset。我运行了初始的bundle install,但随后无法运行rails console而没有收到错误。

运行后gem install rails,它使用了我的应用程序 gemset 中的缓存副本,问题得到了解决。不要问我为什么!

于 2013-10-08T14:58:31.743 回答
4

尝试运行bundle exec rails server而不是仅仅运行rails server.

我看到这个错误是因为我在全局安装了一个冲突的railsgem 版本。

使用前缀命令bundle exec确保您使用的是项目的Gemfile.lock.

于 2013-11-01T13:54:48.593 回答
0

与@ncherro 类似,我使用 ruby​​ filename.rb 得到了这个。跑步

bundle exec ruby filename.rb   

作品。

于 2015-02-17T10:52:05.473 回答