【问题标题】:Rake error after gem update- The specified procedure could not be found(LoadError)gem 更新后出现 Rake 错误 - 找不到指定的过程(LoadError)
【发布时间】:2019-05-09 18:05:53
【问题描述】:

我通过运行 setup.rb 文件手动更新了 Rubygems。从那时起,我无法使用 rackup 启动我的应用程序(我没有使用 rails。它是一个安装在机架上的独立葡萄 api)。得到以下错误-

找不到指定的过程。 - C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/bigdecimal-1.4.3/lib/bigdecimal/util.so (LoadError)

我已经检查了错误中提到的文件路径。 util.so 文件存在于该确切的文件路径上。尝试重新安装 bigdecimal gem,并将 bigdecimal 添加到我的 gem 文件中,但没有帮助。下面是我的代码。它非常简单,并且在我运行更新之前运行良好-

Dir["#{File.dirname(__FILE__)}/app/api/**/*.rb"].each { |f| require f }
module API
  class Root < Grape::API
    format :json
    prefix :api
    get :status do
    { status: 'ok' }
    end
  end
end
Application = Rack::Builder.new do
map "/" do
run API::Root
end
end

我完全无法在我的系统上运行 rackup。以前构建的 API 运行良好,现在却因此错误而失败。任何关于我在这种情况下可以做什么的建议都会很有帮助。谢谢!

【问题讨论】:

  • 刚刚注意到 irb 上的 require 'bigdecimal/util' 失败并出现同样的错误,但因为 bigdecimal/util 不是 gem。我该如何重新安装它?此外,util.so 文件确实存在于 Ruby 正在寻找它的路径中。不知道为什么 Ruby 不接受它
  • 似乎有些库不匹配。你试过运行gem pristine --all吗?
  • 感谢@LeonardoPrado 的建议。我试过了,但不幸的是没有解决错误

标签: ruby rake


【解决方案1】:

当我卸载 bigdecimal gem 时,我收到一条错误消息,提示找不到 Ruby 标头。 因此,作为最终解决方案,我用 Devkit 重新安装了 Ruby(不确定我在之前的安装中是否有 devkit),这解决了我的问题。

【讨论】:

    猜你喜欢
    • 2013-01-31
    • 1970-01-01
    • 2016-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-17
    • 1970-01-01
    • 2015-04-10
    相关资源
    最近更新 更多