首先,我要说我不是Ruby开发人员。我只是想在微软的x64上安装Redmine。我在这里找到了类似的问题,稍后我会链接这些问题。但由于我不是Ruby开发人员,我不理解答案,也不能将它们应用到我的情况中。所以请在你的回答中有点冗长,这样我才能完全理解我在做什么。
我转到Redmine Install中的第5步,生成了以下错误:
C:\redmine\redmine-3.2.3>bundle exec rake generate_secret_token
C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/htmlentities-4.3.1/lib/htmlentities/mappings/expanded.rb:465: warning: duplicated key at line 466 ignored: "inodot"
rake aborted!
LoadError: cannot load such file -- tiny_tds/tiny_tds
C:/redmine/redmine-3.2.3/config/application.rb:5:in `<top (required)>'
C:/redmine/redmine-3.2.3/Rakefile:5:in `require'
C:/redmine/redmine-3.2.3/Rakefile:5:in `<top (required)>'
LoadError: cannot load such file -- tiny_tds/2.2/tiny_tds
C:/redmine/redmine-3.2.3/config/application.rb:5:in `<top (required)>'
C:/redmine/redmine-3.2.3/Rakefile:5:in `require'
C:/redmine/redmine-3.2.3/Rakefile:5:in `<top (required)>'
(See full trace by running task with --trace)看看this answer和this answer,我发现查看Redmine的Gemfile和我的gem列表应该可以提供一些关于这个问题的见解。
问题似乎出在tiny_tds上,Gemfile中唯一提到它的地方是这里:
when /sqlserver/
gem "tiny_tds", "~> 0.6.2", :platforms => [:mri, :mingw, :x64_mingw]
gem "activerecord-sqlserver-adapter", :platforms => [:mri, :mingw, :x64_mingw]从我的gem list
rake (11.2.2, default: 10.4.2)
tiny_tds (1.0.4, 0.6.2 x64-mingw32)在我看来,我安装了多个版本的rake和tiny_tds,但它选择了错误的版本。上面链接的一个答案似乎表明Gemfile需要编辑以选择正确的版本,另一个答案似乎建议使用bundle exec来为我解决这个问题。
那么我需要在这里做些什么才能完成这个安装呢?
发布于 2016-08-01 21:16:34
我遇到了这个问题(webdev的新手),但是在四处搜索之后,我通过运行以下命令让一切正常工作
gem install tiny_tds
# Run these next commands within the tiny_tds directory.
# Now install the dependencies (Requires bundler)
bundle install
# Now compile the gem. (Requires docker toolbox)
rake gem:windowsHere是指向tiny_tds自述文件中他介绍windows安装的部分的链接。希望这能有所帮助。
发布于 2017-03-28 17:30:10
已经过去很长时间了,但可能还有像我这样的人仍然需要一个适合我的windows server 2012解决方案。
我已经在tiny_tds git page找到了解决方案,安装了建议的.gem @coderjoe。
--local下载gem,适用于我的64位系统x86版本gem install --local .\tiny_tds-1.1.0-x86-mingw32.gem
查看日志:
PS C:\Users\mesut.gunes\Downloads> gem安装--local.\tiny_tds-1.1.0-x64-mingw32.gem系统找不到指定的路径。成功安装了tiny_tds-1.1.0-x64-mingw32的分析文档tiny_tds-1.1.0-x64-mingw32安装tiny_tds-1.1.0-x64-mingw32的ri文档在0秒后完成安装tiny_tds的文档1gem安装PS C:\Users\mesut.gunes\Downloads> irb irb(main):001:0> irb(main):002:0*需要"tiny_tds“LoadError:无法从C:/Ruby23加载这样的文件-- tiny_tds/tiny_tds/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:126:in rescue in <top (required)>' from C:/Ruby23/lib/ruby/gems/2.3.0/gems/tiny\_tds-1.2.0-x86-mingw32/lib/tiny\_tds.rb:25:in需要来自C:/Ruby23/lib/ruby/site_ruby/2.3.0/rubygems/core_ext的‘from /lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:126:in rescue in <top (required)>' from C:/Ruby23/lib/ruby/gems/2.3.0/gems/tiny\_tds-1.2.0-x86-mingw32/lib/tiny\_tds.rb:25:in’在require‘from C:/Ruby23/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:144:in require' from (irb):2 from C:/Ruby23/bin/irb.cmd:19:in’irb(main):003:0> require " tiny_tds“LoadError中的主文件救援:无法从C:/Ruby23/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:加载这样的文件-- tiny_tds135:在require‘from C:/Ruby23/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:144:in require' from (irb):3 from C:/Ruby23/bin/irb.cmd:19:in’irb(Main)require' from C:/Ruby23/lib/ruby/site\_ruby/2.3.0/rubygems/core\_ext/kernel\_require.rb:135:in exit PS C:\Users\mesut.gunes\Downloads> gem require' from C:/Ruby23/lib/ruby/site\_ruby/2.3.0/rubygems/core\_ext/kernel\_require.rb:135:in--local.\tiny_tds-1.1.0-x86-mingw32.gem中的安装救援中,系统找不到指定的路径。已成功安装tiny_tds-1.1.0-x86-mingw32的分析文档tiny_tds-1.1.0-x86-mingw32安装tiny_tds-1.1.0-x86-mingw32的ri文档0秒后完成安装tiny_tds -1.1.0-x86-mingw32的文档1 gem安装PS C:\Users\mesut.gunes\Downloads> irb irb(main):001:0> require "tiny_tds“=> true irb(main):002:0> irb(main):003:0* client = TinyTds::Client.new username:'test',password:'Paassword',OrderOrderCode='634829'"):'test.local.db‘=> #:hash,:symbolize_keys=>false,:cache_rows=>true,:timezone=>:local,:empty_sets=>true}> irb(main):004:0> irb(main):005:0* client.EXECUTE("SELECT TOP 1 ID from Order_Code_Order WHERE host
发布于 2017-06-07 02:13:35
此错误是由于windows上的tiny_tds 0.6.2版本中的问题造成的,而不是由于捆绑包无法解析正确的版本。您不需要担心安装了多个版本的tiny_tds;bundle exec命令将读取gem文件并加载每个gem的正确版本,无论执行的是什么命令。
在安装Redmine 3.3.3时,通过更新Redmine Gemfile以使用tiny_tds版本0.7.0,我能够克服这个特定的错误。如您所料,您必须编辑Redmine文件夹中的Gemfile。搜索"tiny_tds“,并将版本号从0.6.2更新为0.7.0。
进行此更改后,必须重新执行bundle install --without development test rmagick命令。这将安装tiny_tds版本0.7.0。然后您应该能够执行bundle exec rake generate_secret_token而不会出现错误。
我看到您已经安装了0.6.2和1.0.4。我对tiny_tds一点也不熟悉,也不知道0.6.2和1.0.4之间是否有突破性的变化。我的印象是0.7.0是0.6.2之后的第一个工作版本,因此是破坏更改风险最小的版本。我可以确认这是工作在Redmine 3.3.3稳定使用SQL Server没有错误。
https://stackoverflow.com/questions/37926292
复制相似问题