我只了解Ruby的基础知识并尝试修复此错误。已经有同样的问题,但无法从这些问题中解决。
当我在Ruby项目中运行以下命令时
rerun 'ruby app.rb'
我收到以下错误。
[rerun] Webhook-receiver launched
/Users/myhome/.rbenv/versions/2.4.2/lib/ruby/2.4.0/
rubygems/core_ext/kernel_require.rb:55:
in `require': cannot load such file -- oj (LoadError)
from /Users/myhome/.rbenv/versions/2.4.2/lib/ruby/2.4.0/rubygems/
core_ext/kernel_require.rb:55:
in `require' from app.rb:2:in `<main>'
[rerun] Webhook-receiver Launch Failed
[rerun] Watching . for **/*.{rb,js,coffee,css,scss,sass,erb,html,haml,ru,yml,slim,md,feature}
任何帮助都会很棒。非常感谢你
答案 0 :(得分:4)
只是为了为其他人提供详细而有条理的答案,因为您已经解决了这个问题。在开发Ruby应用程序时,如果需要存在于外部gem中的代码,则可以使用Bundler来跟踪和管理依赖项。它使用名为Gemfile的文件来注册项目所依赖的依赖项,以及将这些依赖项提取到您的计算机的源。 Gemfile的基本语法示例。
# Registering the sources of gem packages
source 'https://rubygems.org'
[...]
# Requiring a gem for this project
gem 'package_1' # registers a dependency
gem 'package_2', '>=2.0.0' # registers a dependency, with minimum version required
gem 'package_3', '>= 1.5.0', '< 1.9.0' # registers a dependency, with minimum and maximum version required
[...]
完成所有这些操作后,当您运行bundle install时,gem文件中指定的依赖项将被提取到您的计算机,您可以运行该程序。如果要查看计算机上gem的更多信息,可以运行bundle info package(下面是mysql gem的示例)
* mysql (2.9.1)
Summary: This is the MySQL API module for Ruby
Homepage: http://github.com/luislavena/mysql-gem
Path: /var/lib/gems/2.3.0/gems/mysql-2.9.1