我已经阅读了关于这个主题的先前主题,但我在那里找到的解决方案并没有解决我的问题.我有一个不进行数据库访问的rails 3.2.9应用程序 - 它使用HTTP Rest协议到另一个应用程序来访问持久数据.应用程序在使用WEbrick的"rails server"的本地测试环境中运行正常,但无法使用Nginx/Passenger运行,错误" * Exception LoadError in application(请安装sqlite3适配器:( gem install activerecord-sqlite3-adapter
sqlite3不是捆绑包的一部分).将它添加到Gemfile.))".从堆栈跟踪看,似乎ActiveRecord希望在处理请求之前执行的代码中急切地建立数据库连接.我试图按照说明从我的依赖项中删除ActiveRecord,但没有运气.我使用--skip-activerecord生成,它按预期生成了一个像这样的application.rb:
require File.expand_path('../boot', __FILE__)
# Pick the frameworks you want:
# require "active_record/railtie"
require "action_controller/railtie"
require "action_mailer/railtie"
require "active_resource/railtie"
require "sprockets/railtie"
require "rails/test_unit/railtie"
Run Code Online (Sandbox Code Playgroud)
除了在bundler,注释和自述文件中创建的gemlock文件之外,我的应用程序中没有对activerecord或active_record的引用.Bundler将ActiveRecord报告为依赖项,并且"bundle viz"将rails本身报告为需要ActiveRecord的gem.任何建议或建议都是最受欢迎的.
在回答eric的问题时,这是我的Gemfile
source 'https://rubygems.org'
gem 'rails', '3.2.9'
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'uglifier', '>= 1.0.3'
end
gem 'jquery-rails'
Run Code Online (Sandbox Code Playgroud) 我想将远程存储库的单个提交(当然是历史记录)提取到本地提交.一些Stack Overflow响应表明以下内容应该有效,但它不会:
md foo
cd foo
git init
git fetch https://github.com/ld4apps/lda-serverlib.git f1e32e18a90e10c150221af55c69aeafaa42c57a
Run Code Online (Sandbox Code Playgroud)
这会产生以下错误:
错误:没有这样的远程参考f1e32e18a90e10c150221af55c69aeafaa42c57a
令人惊讶的是(对我而言)以下是(某种)工作:
git fetch https://github.com/ld4apps/lda-serverlib.git :f1e32e18a90e10c150221af55c69aeafaa42c57a
Run Code Online (Sandbox Code Playgroud)
这会创建一个名为f1e32e18a90e10c150221af55c69aeafaa42c57a
(我不想要)的新本地分支,但至少新分支具有我尝试获取的内容.我可能已经预料到以下命令会执行相同的操作,但它会得到与第一个示例相同的错误:
git fetch https://github.com/ld4apps/lda-serverlib.git f1e32e18a90e10c150221af55c69aeafaa42c57a:f1e32e18a90e10c150221af55c69aeafaa42c57a
Run Code Online (Sandbox Code Playgroud)
我尝试在Windows和Linux上使用几个不同的git版本,并看到了相同的行为.
谁能解释一下这里发生了什么?我对Git,fetch
refspecs的理解是什么?我真正想要的是一个单一git fetch
命令,我可以提供远程分支或标记的id或提交ID,它将获取相应的提交.