草庐IT

internal_lock

全部标签

ruby - 使用 Bundler 解析 Gemfile.lock

基本上,我正在尝试构建一个gem,当某些依赖项已过时时,它会执行某种形式的测试失败。在测试框架中,我可以轻松地将Gem中的废话stub,以便Gem.loaded_specs("foo")返回gemfoo的规范。我正在寻找的是一种提供夹具Gemfile然后解析锁定文件的方法。当我使用Gem.loaded_specs时,它不知何故神奇地知道要使用哪个Gemfile,我如何为它提供不同的gemfile(即:我的夹具)?我知道有人提到“使用bundler”,这是有道理的,但在我的gem代码中,我这样做了:gem_here=Gem.loaded_specs[gem_name]gem_here.n

ruby - 有些东西一直在重写我的 Gemfile.lock

这个问题在这里已经有了答案:TroubleswithgitandGemfile.lock(4个答案)关闭5年前。在共享项目上工作时,我经常发现我的Gemfile.lock与存储库不同步,产生如下错误消息:$gitpullUpdating1911275..8c5d26ferror:Yourlocalchangestothefollowingfileswouldbeoverwrittenbymerge:Gemfile.lockPleasecommityourchangesorstashthembeforeyoumerge.Aborting当我尝试gitstash更改时,它不起作用:$git

ruby bundler 。如何使用 Gemfile.lock 中的工作集锁定 Gemfile 中的所有版本?

我想将我的Gemfile设置为使用来自有效Gemfile.lock的所有确切版本。最简单的方法是什么?我不想手动完成。bundler是否开箱即用。如果没有,是否有gem?澄清一下,我有一个像这样的Gemfile:source'https://rubygems.org'gem'pg'gem'puma'gem'rails'我运行bundleinstall,我得到一个适合我的Gemfile.lock:GEMremote:https://rubygems.org/specs:pg(0.21.0)puma(3.10.0)rails(5.0.5)actioncable(=5.0.5)actionm

ruby - Heroku 应用抛出 "Internal Server Error"

此应用程序在我的本地计算机上运行良好。将其推送到Heroku后,静态页面似乎可以正常工作,但博客部分会引发内部服务器错误。我通过运行“herokulogs”提取了日志,这就是我得到的:==>production.log我想eventmachinegem有问题....但它在我的机器上运行良好。所以我不确定发生了什么或如何调试它。 最佳答案 从您的错误日志来看,您似乎正试图以某种方式使用SQLite3访问数据库。Heroku虽然使用Postgresql,但显然您的数据库将无法打开。英雄联盟generatesautomaticallyda

ruby-on-rails - 在 Rails 中提交嵌套表单时出现 500 Internal Server Error

当我提交具有两个模型(Member和ChildrenInformation)的嵌套表单时,出现500InternalServerError。错误:500InternalServerErrorIfyouaretheadministratorofthiswebsite,thenpleasereadthiswebapplication'slogfileand/orthewebserver'slogfiletofindoutwhatwentwrong.我检查了日志文件,这是我发现的:TypeError(expectedHash(gotArray)forparam`child_info_attr

ruby - Jekyll 在构建时输出 Gemfile、Gemfile.lock。我该如何/应该如何防止这种情况?

jekyllbuild正在我的_site目录中创建一个Gemfile和Gemfile.lock。两个问题:我应该担心在生产中包含这些文件吗?如果是,我怎样才能防止生成它们?接受任何答案,包括对我来说还不是很明显的答案。谢谢!这是我的环境的屏幕截图。您可以看到Gemfile和Gemfile.lock是在_site中创建的。 最佳答案 在_config.yml中,添加:exclude:-Gemfile-Gemfile.lock 关于ruby-Jekyll在构建时输出Gemfile、Gemfi

ruby - Ruby 符号是否存在是因为字符串是可变的而不是 interned 的?

我已经使用Ruby大约一年了,有一个语言问题:符号是必需的吗,因为Ruby字符串是可变的而不是固定的?例如,在Java中,字符串是不可变的并且是固定的。所以“foo”在值(value)和引用上总是等于“foo”,并且它的值(value)不能改变。在Ruby中,字符串是可变的而不是固定的,因此"a".object_id=="a".object_id将为false。如果Ruby像Java一样实现了字符串,就不需要符号了,对吧? 最佳答案 从Ruby2.3开始,不可变的String可以通过RUBYOPT标记--enable-frozen-

ruby - rake 数据库 :migrate is throwing BusyException: database is locked exception

我正在学习MichaelHartl的RubyonRails教程,在第6章中我被指示创建一个新的迁移以将索引添加到用户表中的电子邮件列。这是我的迁移:defself.upadd_index:users,:email,:unique=>trueenddefself.downremove_index:users,:emailend当我运行rakedb:migrate时,它​​会思考一秒钟,然后抛出一个BusyException并说数据库已锁定。数据库是一个sqlite3数据库,存储在我本地机器上我的用户文件夹中;没什么特别的。非常感谢任何帮助。 最佳答案

ruby-on-rails - 如何在增加预先加载的同时解决此错误? "ERROR ThreadError: Attempt to unlock a mutex which is locked by another thread"

我的Rails应用程序使用inherited_resourcesgem。我目前正在尝试加快它的速度,以便能够处理更大的数据集。因此,我继续(在Bulletgem的帮助下)在证明有用的地方使用预加载。在inherited_resources中它看起来像这样:defcollectionmy_widgets||=end_of_association_chain.includes(:association_one,:association_two,:association_three,:association_four)@widgets=caseparams[:filter]whennilth

c - ruby 中 CONST_ID() 的用途是什么?与 rb_intern() 相比有哪些优势?

在ruby​​的c扩展中,调用你可以做的方法rb_funcall(object,rb_intern("methodname"),argumentcount,arg1,arg2,…);其中rb_intern()返回方法名称的一些内部表示。我看到了一些代码,而不是IDmethod;CONST_ID(method,"methodname");rb_funcall(object,method,argumentcount,arg1,arg2,…);rb_intern()和CONST_ID到底有什么区别。CONST_ID()有哪些优势? 最佳答案