~>在Ruby gem依赖关系的上下文中意味着什么?
例如,在RubyMine IDE中打开旧项目时,我收到此消息
Gems required for project are not attached: arel (~> 2.0.2), rspec-expectation (~> 2.5.0)...
我已经在Ruby世界的其他地方看到了这种波形符号(它不是特定于RubyMine).这个操作符的名称是否比笨拙的波形符号更大?
我经常在Gemfile中看到以下符号(〜>).
gem "cucumber", "~>0.8.5"
gem "rspec", "~>1.3.0"
Run Code Online (Sandbox Code Playgroud)
我知道符号(> =)只是大于或等于,但(〜>)符号是什么意思?它们是相同的还是有任何显着差异?
~>宝石规格中版本要求的含义是什么?
hanna-0.1.12 depends on [haml (~> 2.2.8)]
我的 Capybara Selenium Webdriver 设置在尝试连接 ChromeDriver 时失败 - 看来他们发布了一个没有 M1 版本的版本,可以在 Chromedriver API 中找到https://chromedriver.storage.googleapis.com/index.html?path=106.0.5249.61/
Webdrivers::NetworkError:
Net::HTTPServerException: 404 "Not Found" with https://chromedriver.storage.googleapis.com/106.0.5249.61/chromedriver_mac64_m1.zip
Run Code Online (Sandbox Code Playgroud)
Capybara.register_driver :headless_chrome do |app|
options.add_argument("--disable-gpu")
options.add_argument("--headless")
options.add_argument("--no-sandbox")
options.add_argument("--window-size=1920,1080")
driver = Capybara::Selenium::Driver.new(app, browser: :chrome, options: options)
### Allow file downloads in Google Chrome when headless
### https://bugs.chromium.org/p/chromium/issues/detail?id=696481#c89
bridge = driver.browser.send(:bridge)
path = "/session/:session_id/chromium/send_command"
path[":session_id"] = bridge.session_id
bridge.http.call(:post, path, cmd: "Page.setDownloadBehavior",
params: {
behavior: "allow",
downloadPath: "/tmp/downloads",
})
###
driver
end
Run Code Online (Sandbox Code Playgroud)
当应用程序调用时,driver.browser我收到上述错误,这是因为它正在查找的文件不存在。
我可以设置特定版本的 chrome 驱动程序或在初始化驱动程序时查找什么系统吗?
selenium ruby-on-rails capybara selenium-chromedriver selenium-webdriver