- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
嘿伙计们,我在尝试将我的 Rails 3.2.6 应用程序部署到生产环境时遇到了一些问题,部署似乎很顺利,直到它开始预编译 Assets ,这里是我遇到的错误:
command finished in 1740ms
* executing "cd /home/deployer/apps/stealthygecko/releases/20120717222341 && bundle exec rake RAILS_ENV=production RAILS_GROUPS=assets assets:precompile"
servers: ["xx.xxx.xxx.xxx"]
[xx.xxx.xxx.xxx] executing command
** [out :: xx.xxx.xxx.xxx] rake aborted!
** [out :: xx.xxx.xxx.xxx] no such file to load -- addressable/uri
** [out :: xx.xxx.xxx.xxx]
** [out :: xx.xxx.xxx.xxx] (See full trace by running task with --trace)
command finished in 3131ms
*** [deploy:update_code] rolling back
* executing "rm -rf /home/deployer/apps/stealthygecko/releases/20120717222341; true"
servers: ["xx.xxx.xxx.xxx"]
[xx.xxx.xxx.xxx] executing command
command finished in 786ms
failed: "rvm_path=$HOME/.rvm/ $HOME/.rvm/bin/rvm-shell 'ruby-1.9.2@stealthygecko_rewrite' -c 'cd /home/deployer/apps/stealthygecko/releases/20120717222341 && bundle exec rake RAILS_ENV=production RAILS_GROUPS=assets assets:precompile'"
我已尝试设置“config.assets.compile = false”以查看是否有帮助,但我仍然遇到相同的错误。
这是我的部署脚本:
server "xx.xxx.xxx.xxx", :web, :app, :db, primary: true
depend :remote, :gem, "bundler", ">=1.1.3"
depend :remote, :gem, "rake", ">=0.9.2.2"
set :application, "stealthygecko"
set :user, :"deployer"
set :deploy_to, "/home/#{user}/apps/#{application}"
set :deploy_via, :remote_cache
set :use_sudo, false
set :scm, :git
set :repository, "git@github.com:StealthyGecko/stealthygecko.git"
set :branch, "master"
default_run_options[:pty] = true
set :ssh_options, {:forward_agent => true}
set :ruby_version, "ruby-1.9.2"
set :gemset_name, "stealthygecko_rewrite"
set :rvm_ruby_gemset, "#{ruby_version}@#{gemset_name}"
set :bundle_without, [:darwin, :development, :test]
require "rvm/capistrano"
load 'deploy/assets'
set :rvm_ruby_string, "#{rvm_ruby_gemset}" # Select the gemset
set :rvm_type, :user # RVM install is in the deploying user's home directory
#
before "deploy:assets:precompile", "bundle:install"
after "deploy", "deploy:cleanup" # keep only the last 5 releases
namespace :deploy do
%w[start stop restart].each do |command|
desc "#{command} unicorn server"
task command, roles: :app, except: {no_release: true} do
run "cd #{deploy_to}/current && /etc/init.d/unicorn_stealthygecko restart"
end
end
task :setup_config, roles: :app do
puts "Symlinking nginx and unicorn configs"
sudo "ln -nfs #{current_path}/config/nginx.conf /etc/nginx/sites-enabled/#{application}"
sudo "ln -nfs #{current_path}/config/unicorn_init.sh /etc/init.d/unicorn_#{application}"
run "mkdir -p #{shared_path}/config"
put File.read("config/database.example.yml"), "#{shared_path}/config/database.yml"
puts "Now edit the config files in #{shared_path}."
end
after "deploy:setup", "deploy:setup_config"
task :symlink_config, roles: :app do
puts "Symlinking database yml"
run "ln -nfs #{shared_path}/config/database.yml #{release_path}/config/database.yml"
puts "Database Symlink done!"
end
after "deploy:finalize_update", "deploy:symlink_config"
desc "Make sure local git is in sync with remote."
task :check_revision, roles: :web do
unless `git rev-parse HEAD` == `git rev-parse origin/master`
puts "WARNING: HEAD is not the same as origin/master"
puts "Run `git push` to sync changes."
exit
end
end
before "deploy", "deploy:check_revision"
end
如果它是从我读过的各种教程中拼凑而成的,有点乱,我深表歉意。这是我的 Gemfile:
source 'http://rubygems.org'
gem 'rake'
gem 'rails', '3.2.6'
gem 'mysql2'
gem 'bcrypt-ruby', '~> 3.0.0'
gem 'gravtastic'
gem "friendly_id"
gem "rinku", '~>1.2.2', :require => 'rails_rinku'
gem "videawesome"
gem "will_paginate", "~>3.0.3"
gem "tweet-button"
gem "bitly"
gem "sanitize"
gem "newrelic_rpm"
gem 'capistrano'
gem 'rvm-capistrano'
gem "unicorn", "~> 4.2.1"
gem "twitter", "2.2.2"
gem 'instagram', :git => 'git://github.com/StealthyGecko/instagram-ruby-gem-lee.git'
group :assets do
gem 'coffee-script'
gem 'jquery-rails'
gem 'uglifier'
gem 'therubyracer'
gem 'execjs'
gem 'twitter-bootstrap-rails'
end
gem 'rspec-rails', :group => [:test, :development]
group :test do
gem 'sqlite3'
gem 'guard-rspec'
gem 'capybara'
gem 'launchy'
gem 'shoulda', '3.0.0.beta2'
gem 'factory_girl_rails'
gem 'ruby-debug19', :require => 'ruby-debug'
gem 'turn', :require => false
end
我知道它有点远,但如果有人能发现我哪里出错了,或者如果有人遇到这个问题并设法解决它,请告诉我,因为我一直在努力反对这个问题现在几个小时了。
当它失败时它似乎在说“没有这样的文件要加载——可寻址/uri”但是我不确定它在哪里使用以及为什么它被用于编译 Assets
有什么建议吗?
最佳答案
显然已修复以下内容:http://www.kudelabs.com/2012/03/28/rails-3-2-cap-deploy-with-assets
更新 2:查看您的 cap 脚本后,您有 before "deploy:assets:precompile", "bundle:install"
尝试删除它并添加:require 'bundler/capistrano'
删除 load 'deploy/assets'
并将其放入您的 Capfile。
更新:查看 rails generate rspec:install returns 'Could not find addressable-2.2.8 in any of the sources' 后和 http://addressable.rubyforge.org/api/ .
检查你的 Gemfile.lock
Using addressable (X.X.X)
这可能应该是对 Gemfile 中其中一个 gem 的依赖。否则,您可以尝试手动添加它。
我有...
...
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'therubyracer', :platforms => :ruby
gem 'uglifier', '>= 1.0.3'
gem 'twitter-bootstrap-rails'
end
...
在我的 Gemfile.lock 中
...
addressable (2.2.8)
...
$ cat Capfile
您需要取消注释 load 'deploy/assets'
load 'deploy'
# Uncomment if you are using Rails' asset pipeline
load 'deploy/assets'
Dir['vendor/gems/*/recipes/*.rb','vendor/plugins/*/recipes/*.rb'].each { |plugin| load(plugin) }
load 'config/deploy' # remove this line to skip loading any of the default tasks
关于ruby-on-rails - 使用 Twitter-Bootstrap-Rails 在 Rails 3.2.6 中部署到生产环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11531967/
以下是一个非常简单的ruby服务器。 require 'socket' local_socket = Socket.new(:INET, :STREAM) local_addr = Socket.
我正在使用 OS X(使用 bash),并且是 unix 的新手。我想知道是否可以修改一些文件以便运行 ruby 程序,我不需要“ruby file.rb”,而是可以运行“ruby.rb”。 有理
我在用 Ruby 替换字符串时遇到一些问题。 我的原文:人之所为不如兽之所为。 我想替换为:==What== human does is not like ==what== animal does.
我想在一个循环中从 Ruby 脚本做这样的事情: 写一个文件a.rb(每次迭代都会改变) 执行系统(ruby 'a.rb') a.rb 将带有结果的字符串写入文件“results” a.rb 完成并且
我的问题是尝试创建一个本地服务器,以便我可以理解由我的新团队开发的应用程序。我的问题是我使用的是 Ruby 2.3.3,而 Gemfile 需要 2.3.1。我无法编辑 Gemfile,因为我被告知很
我有一个使用 GLI 框架用 Ruby 编写的命令行实用程序。我想在我的主目录中配置我的命令行实用程序,使用 Ruby 本身作为 DSL 来处理它(类似于 Gemfile 或 Rakefile)。 我
我的 Rails 应用 Controller 中有这段代码: def delete object = model.datamapper_class.first(:sourced_id =>
我正在寻找的解析器应该: 对 Ruby 解析友好, 规则设计优雅, 产生用户友好的解析错误, 用户文档的数量应该比计算器示例多, UPD:允许在编写语法时省略可选的空格。 快速解析不是一个重要的特性。
我刚开始使用 Ruby,听说有一种“Ruby 方式”编码。除了 Ruby on Rails 之外,还有哪些项目适合学习并被认可且设计良好? 最佳答案 Prawn被明确地创建为不仅是一个该死的好 PDF
我知道之前有人问过类似的问题,但是我该如何构建一个无需在前面输入“ruby”就可以在终端中运行的 Ruby 文件呢? 这里的最终目标是创建一个命令行工具包类型的东西。现在,为了执行我希望用户能够执行的
例如哈希a是{:name=>'mike',:age=>27,:gender=>'male'}哈希 b 是 {:name=>'mike'} 我想知道是否有更好的方法来判断 b 哈希是否在 a 哈希内,而
我是一名决定学习 Ruby 和 Ruby on Rails 的 ASP.NET MVC 开发人员。我已经有所了解并在 RoR 上创建了一个网站。在 ASP.NET MVC 上开发,我一直使用三层架构:
最近我看到 Gary Bernhardt 展示了他用来在 vim 中执行 Ruby 代码的 vim 快捷方式。捷径是 :map ,t :w\|:!ruby %. 似乎这个方法总是执行系统 Rub
在为 this question about Blue Ruby 选择的答案中,查克说: All of the current Ruby implementations are compiled to
我有一个 Ruby 数组 > list = Request.find_all_by_artist("Metallica").map(&:song) => ["Nothing else Matters"
我在四舍五入时遇到问题。我有一个 float ,我想将其四舍五入到小数点后的百分之一。但是,我只能使用 .round ,它基本上将它变成一个 int,意思是 2.34.round # => 2. 有没
我使用 ruby on rails 编写了一个小型 Web 应用程序,它的主要目的是上传、存储和显示来自 xml(文件最多几 MB)文件的结果。运行大约 2 个月后,我注意到 mongrel 进程
我们如何用 Ruby 转换像这样的字符串: 𝑙𝑎𝑡𝑜𝑟𝑟𝑒 收件人: Latorre 最佳答案 s = "𝑙𝑎𝑡𝑜𝑟𝑟𝑒" => "𝑙𝑎𝑡𝑜𝑟𝑟𝑒" s.u
通过 ruby monk 时,他们偶尔会从左侧字段中抛出一段语法不熟悉的代码: def compute(xyz) return nil unless xyz xyz.map {|a,
不确定我做错了什么,但我似乎弄错了。 问题是,给你一串空格分隔的数字,你必须返回最大和最小的数字。 注意:所有数字都是有效的 Int32,不需要验证它们。输入字符串中始终至少有一个数字。输出字符串必须
我是一名优秀的程序员,十分优秀!