【发布时间】: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 的建议。我试过了,但不幸的是没有解决错误