ruby sidekiq `require': 无法加载此类文件 -- pg (LoadError)
ruby sidekiq `require': cannot load such file -- pg (LoadError)
我尝试在纯 ruby 的基础上构建带有一些附加功能的微服务。我使用 sidekiq for jobs and pg 进行数据库连接。
为了启动 Sidekiq 服务器,我使用默认设置和代码:
# ./config/sidekiq.rb
require 'sidekiq'
require 'pg' # This doesn't work with "`require': cannot load such file -- pg (LoadError)"
require_relative '../jobs/location_jobs/collect_job' # here is my job locates
# If your client is single-threaded, we just need a single connection in our Redis connection pool
Sidekiq.configure_client do |config|
config.redis = { url: 'redis://localhost:6379/0', namespace: 'analytic_serv', size: 5 }
end
# Sidekiq server is multi-threaded so our Redis connection pool size defaults to concurrency (-c)
Sidekiq.configure_server do |config|
config.redis = { url: 'redis://localhost:6379/0', namespace: 'analytic_serv' }
end
如你所见,我在 sidekiq.rb
中尝试 require
PG gem。实际上我在另一个文件中使用它,这里仅作为示例使用。
所以,当我尝试 运行 我的 sidekiq-server 时它引发了一个异常
bundle exec sidekiq -r ./config/sidekiq.rb -C ./config/sidekiq.yml
analytic_serv/config/sidekiq.rb:2:in
require': 无法加载此类文件 -- pg (LoadError)`
它适用于我用于创建作业的简单 ruby 脚本,但当我 运行 sidekiq-server 时它不起作用。
请帮忙。我究竟做错了什么?
在这种情况下如何包含 gem?
谢谢。
始终使用 Bundler 来确保您的 Gem 设置正确:bundle exec ruby script.rb
和 bundle exec sidekiq
尝试将 gem 'pg'
添加到您的 Gemfile
,然后使用 bundle install
安装它。
无法加载此类文件意味着,特定文件不可用。
搜索路径 bundle show pg
.
有时甚至 gem 都不存在,因为 gem 规范。因此,也删除 gemspec 并执行 bundle install
.
我尝试在纯 ruby 的基础上构建带有一些附加功能的微服务。我使用 sidekiq for jobs and pg 进行数据库连接。
为了启动 Sidekiq 服务器,我使用默认设置和代码:
# ./config/sidekiq.rb
require 'sidekiq'
require 'pg' # This doesn't work with "`require': cannot load such file -- pg (LoadError)"
require_relative '../jobs/location_jobs/collect_job' # here is my job locates
# If your client is single-threaded, we just need a single connection in our Redis connection pool
Sidekiq.configure_client do |config|
config.redis = { url: 'redis://localhost:6379/0', namespace: 'analytic_serv', size: 5 }
end
# Sidekiq server is multi-threaded so our Redis connection pool size defaults to concurrency (-c)
Sidekiq.configure_server do |config|
config.redis = { url: 'redis://localhost:6379/0', namespace: 'analytic_serv' }
end
如你所见,我在 sidekiq.rb
中尝试 require
PG gem。实际上我在另一个文件中使用它,这里仅作为示例使用。
所以,当我尝试 运行 我的 sidekiq-server 时它引发了一个异常
bundle exec sidekiq -r ./config/sidekiq.rb -C ./config/sidekiq.yml
analytic_serv/config/sidekiq.rb:2:in
require': 无法加载此类文件 -- pg (LoadError)`
它适用于我用于创建作业的简单 ruby 脚本,但当我 运行 sidekiq-server 时它不起作用。
请帮忙。我究竟做错了什么? 在这种情况下如何包含 gem?
谢谢。
始终使用 Bundler 来确保您的 Gem 设置正确:bundle exec ruby script.rb
和 bundle exec sidekiq
尝试将 gem 'pg'
添加到您的 Gemfile
,然后使用 bundle install
安装它。
无法加载此类文件意味着,特定文件不可用。
搜索路径 bundle show pg
.
有时甚至 gem 都不存在,因为 gem 规范。因此,也删除 gemspec 并执行 bundle install
.