Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 迁移时的Sqlite3错误、捆绑包安装时的nokogiri错误、迁移到Rails3后的gem冲突&;做一些合并。(陆委会)_Ruby On Rails_Migration_Sqlite_Nokogiri - Fatal编程技术网

Ruby on rails 迁移时的Sqlite3错误、捆绑包安装时的nokogiri错误、迁移到Rails3后的gem冲突&;做一些合并。(陆委会)

Ruby on rails 迁移时的Sqlite3错误、捆绑包安装时的nokogiri错误、迁移到Rails3后的gem冲突&;做一些合并。(陆委会),ruby-on-rails,migration,sqlite,nokogiri,Ruby On Rails,Migration,Sqlite,Nokogiri,哇,更新,解决了!!我在gemfiles中添加了一行代码,告诉它我的mac版nokogiri的范围,就像这里说的:,如果你搜索Stefan。从windows到mac的交叉开发似乎是罪魁祸首 了解gems如何在mac上使用rails3,因为Ruby和rails3(在我的mac上)存在sqlite3/nokogiri/gem/bundler问题 这些问题是在升级到Rails 3.0.4和ruby 1.9.1之后出现的。另外,我的队友在Windows上编程,而我在Mac上。我的朋友刚在他的Window

哇,更新,解决了!!我在gemfiles中添加了一行代码,告诉它我的mac版nokogiri的范围,就像这里说的:,如果你搜索Stefan。从windows到mac的交叉开发似乎是罪魁祸首

了解gems如何在mac上使用rails3,因为Ruby和rails3(在我的mac上)存在sqlite3/nokogiri/gem/bundler问题

这些问题是在升级到Rails 3.0.4和ruby 1.9.1之后出现的。另外,我的队友在Windows上编程,而我在Mac上。我的朋友刚在他的Windows PC上将项目升级到Rails3,现在我用Git将它克隆到Mac上……我收到了这些错误

当我在我们的项目上执行“rake db:migrate”时,我在shell中得到了这个红色错误:

*你要求: sqlite3>=0

捆绑包当前已将sqlite3锁定在1.3.3。 尝试运行
bundle update sqlite3
*

我不知道这意味着什么,也不知道如何解决它

以下是我的文件中未注释的内容:

gem“rails”、“3.0.4”

gem'sqlite3'

它有很多评论,如:

(#gem'nokogiri'

(#gem'sqlite3ruby',:require=>sqlite3'

My Gemfile.lock具有以下功能:

nokogiri (1.4.4.1-x86-mingw32)

sqlite3 (1.3.3-x86-mingw32)
但是麻烦

我想我可以通过完成“sudo-port-install-sqlite3”来解决这个问题。我还完成了“bundle-update-sqlite3”。这似乎完成了,但随后导致了另一个错误:

***你要求: nokogiri~>1.4.2

捆绑包当前将nokogiri锁定在1.4.4.1。 尝试运行
bundle update nokogiri
***

当我执行“bundle update nokogiri”时,它似乎失败了,并且再次给了我同样的错误。这是我无法完成的步骤

在我的Gemfile.lock文件中的许多内容中,我有以下几点: nokogiri(1.4.4.1-x86-mingw32) sqlite3(1.3.3-x86-mingw32)

这些似乎是导致错误的原因。我尝试更改为(~>1.0.0.0)等,看看一个不太具体的数字是否有效,但没有

我还尝试了这个特定的nokogiri安装: sudo端口安装libxml2 libxslt sudo gem安装nokogiri

但即使在这之后,我看到: **执行db:drop 雷克流产了! nil:NilClass的未定义方法
[]
/Users/Mike/Desktop/MikeFiles/betheduke2/BeTheDuke/**nokogiri**/ruby/1.9.1/gems/activerecord-3.0.4/lib/active_record/railties/databases.rake:126:in
rescue in block(2层)in'

不知道这意味着什么

为了能够安装sqlite3,我还安装了MacPorts,使用“sudo port install sqlite3

这似乎成功地完成了大量的sqlite3安装,但现在一切都完成了,当我尝试rake db:migrate时,我仍然得到了sqlite3错误的序列。然后我进行了捆绑安装,似乎成功了,然后我在重复时得到了相同的旧nokogiri错误,直到我停止

我也看到了这个论坛。这表明这是一个“捆绑包问题”或“gem版本不一致”,但我不确定是否是这样,我应该怎么做。编辑Gemfile?我应该将其更改为我拥有的版本吗

奇怪的是,在我的“gem列表”中,我有“sqlite3ruby(1.2.5)”,但没有nokogiri。然后,当我关闭终端并重新打开,重新运行“rake db:migrate”时,它首先启动sqlite3错误,然后当我运行bundle安装时,它返回到nokogiri错误

这篇文章说可能是因为我的电脑上有太多版本的sqlite3:

以下是我所拥有的: $which-一个sqlite3 /opt/local/bin/sqlite3 /usr/bin/sqlite3

哪一块-宝石 /Users/Mike/.rvm/rubies/ruby-1.9.2-p136/bin/gem /Users/Mike/.rvm/bin/gem /usr/bin/gem

哪一个是红宝石 /Users/Mike/.rvm/rubies/ruby-1.9.2-p136/bin/ruby /Users/Mike/.rvm/bin/ruby /usr/bin/ruby

您认为这些副本相互冲突吗?如果是,我应该键入什么来删除正确的副本

有人知道该怎么做吗?在升级到Rails3的过程中是否遇到了“问题”?这是在合并两个git分支(一个是在较旧的Ruby/Rails2组合上开发的,另一个是在Ruby1.9.1/Rails3.0.4中开发的)之后立即发生的。尽管没有涉及到这两个早期版本,我们还是遇到了很多合并错误(我们认为这是一个跨mac和pc平台的行尾问题),但不确定。也许合并和迁移的某些方面正在影响这个gems


另外,“如何安装sqlite3”也很有帮助:

我并不是真的回答这个问题,只是通过复制+粘贴OPs自己的答案,他将这个答案编辑到他的问题中:

哇,更新,解决了!!我在gemfiles中添加了一行来告诉它 我的mac版nokogiri的范围,就像这里说的:制作捆绑包 如果您搜索Stefan,请为不同的平台使用不同的gem。 从windows到mac的交叉开发似乎是罪魁祸首


很好,你自己解决了这个问题,但是考虑通过回答你自己的问题使解决方案更清晰…