Ruby on rails 迁移时的Sqlite3错误、捆绑包安装时的nokogiri错误、迁移到Rails3后的gem冲突&;做一些合并。(陆委会)
哇,更新,解决了!!我在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。 尝试运行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
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的交叉开发似乎是罪魁祸首
很好,你自己解决了这个问题,但是考虑通过回答你自己的问题使解决方案更清晰…