spohlenz / tinymce-rails

Integration of TinyMCE with the Rails asset pipeline
Other
816 stars 258 forks source link

I fail to precompile not find the license.txt and have turbo-sprockets-rails3 #91

Closed akicho8 closed 11 years ago

akicho8 commented 11 years ago

I do not know whether there is cause to either tinymce, the turbo-sprockets-rails3. However, for the time being, I will report.

Append gem 'turbo-sprockets-rails3' to Gemfile

$ cap deploy
  * 2013-03-04 16:31:52 executing `deploy'
  * 2013-03-04 16:31:52 executing `deploy:update'
 ** transaction: start
  * 2013-03-04 16:31:52 executing `deploy:update_code'
    executing locally: "git ls-remote /Users/foo/src/myapp HEAD"
    command finished in 16ms
  * executing "git clone -q /Users/foo/src/myapp /var/www/myapp/releases/20130304073152 && cd /var/www/myapp/releases/20130304073152 && git checkout -q -b deploy 7b5656f0d290dc0bbe85f58becfb4ee02c836c76 && (echo 7b5656f0d290dc0bbe85f58becfb4ee02c836c76 > /var/www/myapp/releases/20130304073152/REVISION)"
    servers: ["localhost"]
    [localhost] executing command
    command finished in 396ms
  * 2013-03-04 16:31:53 executing `deploy:finalize_update'
    triggering before callbacks for `deploy:finalize_update'
  * 2013-03-04 16:31:53 executing `deploy:assets:symlink'
  * executing "rm -rf /var/www/myapp/releases/20130304073152/public/assets && mkdir -p /var/www/myapp/releases/20130304073152/public && mkdir -p /var/www/myapp/shared/assets && ln -s /var/www/myapp/shared/assets /var/www/myapp/releases/20130304073152/public/assets"
    servers: ["localhost"]
    [localhost] executing command
    command finished in 254ms
  * 2013-03-04 16:31:53 executing `bundle:install'
  * executing "cd /var/www/myapp/releases/20130304073152 && bundle install --gemfile /var/www/myapp/releases/20130304073152/Gemfile --path /var/www/myapp/shared/bundle --deployment --quiet --without development test"
    servers: ["localhost"]
    [localhost] executing command
    command finished in 25957ms
  * executing "rm -rf -- /var/www/myapp/releases/20130304073152/public/system && mkdir -p -- /var/www/myapp/releases/20130304073152/public/ && ln -s -- /var/www/myapp/shared/system /var/www/myapp/releases/20130304073152/public/system && rm -rf -- /var/www/myapp/releases/20130304073152/log && ln -s -- /var/www/myapp/shared/log /var/www/myapp/releases/20130304073152/log && rm -rf -- /var/www/myapp/releases/20130304073152/tmp/pids && mkdir -p -- /var/www/myapp/releases/20130304073152/tmp/ && ln -s -- /var/www/myapp/shared/pids /var/www/myapp/releases/20130304073152/tmp/pids"
    servers: ["localhost"]
    [localhost] executing command
    command finished in 274ms
    triggering after callbacks for `deploy:update_code'
  * 2013-03-04 16:32:19 executing `deploy:assets:precompile'
    triggering before callbacks for `deploy:assets:precompile'
  * 2013-03-04 16:32:19 executing `deploy:assets:update_asset_mtimes'
  * executing "[ -e /var/www/myapp/shared/assets/manifest.yml ] && cat /var/www/myapp/shared/assets/manifest.yml || echo"
    servers: ["localhost"]
    [localhost] executing command
    command finished in 289ms
 ** Updating mtimes for ~1416 assets...
    servers: ["localhost"]
 ** sftp upload #<StringIO:0x007ff511d24db8> -> /var/www/myapp/TOUCH_ASSETS
    [localhost] /var/www/myapp/TOUCH_ASSETS
    [localhost] done
  * sftp upload complete
  * executing "cat /var/www/myapp/TOUCH_ASSETS | while read asset; do touch -cm -- \"$asset\"; done && rm -f -- /var/www/myapp/TOUCH_ASSETS"
    servers: ["localhost"]
    [localhost] executing command
    command finished in 2032ms
  * executing "ls -x /var/www/myapp/releases"
    servers: ["localhost"]
    [localhost] executing command
    command finished in 252ms
  * executing "cd -- /var/www/myapp/releases/20130304073152 && bundle exec rake RAILS_ENV=production RAILS_GROUPS=assets assets:precompile && cp -- /var/www/myapp/shared/assets/manifest.yml /var/www/myapp/releases/20130304073152/assets_manifest.yml"
    servers: ["localhost"]
    [localhost] executing command
*** [err :: localhost] rake aborted!
*** [err :: localhost] No such file or directory - /private/var/www/myapp/releases/20130304073152/public/assets/tinymce/license-6b8dfd9d628576a414268f9be344eb0a.txt
*** [err :: localhost] /var/www/myapp/shared/bundle/ruby/1.9.1/gems/turbo-sprockets-rails3-0.3.6/lib/sprockets/static_non_digest_generator.rb:39:in `mtime'
*** [err :: localhost] /var/www/myapp/shared/bundle/ruby/1.9.1/gems/turbo-sprockets-rails3-0.3.6/lib/sprockets/static_non_digest_generator.rb:39:in `block in generate'
*** [err :: localhost] /var/www/myapp/shared/bundle/ruby/1.9.1/gems/sprockets-2.2.2/lib/sprockets/base.rb:219:in `block in each_logical_path'
*** [err :: localhost] /var/www/myapp/shared/bundle/ruby/1.9.1/gems/sprockets-2.2.2/lib/sprockets/base.rb:206:in `block (2 levels) in each_file'
*** [err :: localhost] /var/www/myapp/shared/bundle/ruby/1.9.1/gems/sprockets-2.2.2/lib/sprockets/base.rb:196:in `each'
*** [err :: localhost] /var/www/myapp/shared/bundle/ruby/1.9.1/gems/sprockets-2.2.2/lib/sprockets/base.rb:196:in `each_entry'
*** [err :: localhost] /var/www/myapp/shared/bundle/ruby/1.9.1/gems/sprockets-2.2.2/lib/sprockets/base.rb:204:in `block in each_file'
*** [err :: localhost] /var/www/myapp/shared/bundle/ruby/1.9.1/gems/sprockets-2.2.2/lib/sprockets/base.rb:203:in `each'
*** [err :: localhost] /var/www/myapp/shared/bundle/ruby/1.9.1/gems/sprockets-2.2.2/lib/sprockets/base.rb:203:in `each_file'
*** [err :: localhost] /var/www/myapp/shared/bundle/ruby/1.9.1/gems/sprockets-2.2.2/lib/sprockets/base.rb:217:in `each_logical_path'
*** [err :: localhost] /var/www/myapp/shared/bundle/ruby/1.9.1/gems/turbo-sprockets-rails3-0.3.6/lib/sprockets/static_non_digest_generator.rb:29:in `generate'
*** [err :: localhost] /var/www/myapp/shared/bundle/ruby/1.9.1/gems/turbo-sprockets-rails3-0.3.6/lib/turbo-sprockets/tasks/assets.rake:93:in `internal_precompile'
*** [err :: localhost] /var/www/myapp/shared/bundle/ruby/1.9.1/gems/turbo-sprockets-rails3-0.3.6/lib/turbo-sprockets/tasks/assets.rake:113:in `block (3 levels) in <top (required)>'
*** [err :: localhost] /var/www/myapp/shared/bundle/ruby/1.9.1/gems/turbo-sprockets-rails3-0.3.6/lib/turbo-sprockets/tasks/assets.rake:35:in `invoke_or_reboot_rake_task'
*** [err :: localhost] /var/www/myapp/shared/bundle/ruby/1.9.1/gems/turbo-sprockets-rails3-0.3.6/lib/turbo-sprockets/tasks/assets.rake:50:in `block (2 levels) in <top (required)>'
*** [err :: localhost] Tasks: TOP => assets:precompile:all
*** [err :: localhost] (See full trace by running task with --trace)
    command finished in 16801ms
*** [deploy:update_code] rolling back
  * executing "rm -rf /var/www/myapp/releases/20130304073152; true"
    servers: ["localhost"]
    [localhost] executing command
    command finished in 317ms
failed: "env RAILS_ENV=production rvm_path=/usr/local/rvm /usr/local/rvm/bin/rvm-shell 'default' -c 'cd -- /var/www/myapp/releases/20130304073152 && bundle exec rake RAILS_ENV=production RAILS_GROUPS=assets assets:precompile && cp -- /var/www/myapp/shared/assets/manifest.yml /var/www/myapp/releases/20130304073152/assets_manifest.yml'" on localhost
shobee commented 11 years ago

Same problem here. Any solutions on this?

mjacobus commented 11 years ago

Same here.

marlonmantilla commented 11 years ago

I'm having the same issue here :S

spohlenz commented 11 years ago

Firstly, sorry it has taken me so long to look into this issue.

From what I can tell, the issue is caused by both tinymce-rails and turbo-sprockets making modifications to the manifest.yml file. Since turbo-sprockets doesn't reload the manifest file after tinymce-rails make its changes, it finds files that no longer exist (that have already had their digests removed).

To fix, I see two possible strategies:

a) Quick fix turbo-sprockets to ignore files from the manifest that no longer exist.

b) Have turbo-sprockets reload the manifest file before processing the nondigest assets.

I have created a fork of turbo-sprockets-rails3 at https://github.com/spohlenz/turbo-sprockets-rails3 which contains a fix using strategy a), although b) would probably be a more robust option. It passes all of turbo-sprockets tests but I'm unsure if there are any further consequences to this approach, hence I haven't made a pull request yet.

sigmike commented 11 years ago

Do you plan to make a pull request?

sigmike commented 11 years ago

@spohlenz How is it solved?

spohlenz commented 11 years ago

@piglop Either a) use my fork above, b) upgrade to Rails 4, or c) someone else can make a pull request to turbo-sprockets-rails3. Judging from the project's lack of activity I'd suggest option a) or b).