1

小さなバグがあることに突然気付いたとき、私は小さなrails-app(refinerycmsに基づく)を正常に稼働させていました。それを修正し、ok、commit、push、deploy、通常のルーチンをテストしました。しかし、今回は(以前は数え切れないほど機能していた)私の展開assets:precompile

    * 2012-12-21 11:44:59 executing `deploy:assets:precompile'
    * executing "cd /home/somename/releases/20121221104442 && bundle exec rake RAILS_ENV=production RAILS_GROUPS=assets assets:precompile"
      servers: ["ssh.alwaysdata.com"]
      [ssh.alwaysdata.com] executing command
  *** [err :: ssh.alwaysdata.com] rake aborted!
  *** [err :: ssh.alwaysdata.com] Invalid argument - /nfs/http9/somename/app/ttvz/releases/20121221104442/tmp/cache/assets/D17/790/sprockets%2F159b50b9f479a8cb2519ea6a40f09f92
  *** [err :: ssh.alwaysdata.com] /home/somename/app/ttvz/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.1/lib/active_support/core_ext/file/atomic.rb:38:in `chown'
  ...

そしてもちろん、Stacktraceの全体の束。私はウェブ上で何かを見つけようとしましたが、惨めに失敗しました。アプリのバージョンのアセットをプリコンパイルしようとしたときにも同じことが起こりましたcurrent(これは開発の魅力のように機能しました)。

precompileこれは、StackOverflowの他の問題とは異なるようです。

4

2 に答える 2

2

世間の信念に反して、これは私の間違いではないことが判明しました。私はのソースを調べ始めatomic.rb、への呼び出しchownは実際にはまったく何もしないことになります。そこで、alwaysdataユーザーフォーラムにメッセージを残さずにパッチを適用しました。私の(醜い)小さなパッチの展開では、以前と同じように機能しました。

数時間後、フレンドリーなスタッフが、最近のカーネルのアップグレードがうまくいかなかったのではないかと疑うようになったと私に話しました。彼は同じ夜にそれを修正し、すべてが再び機能しています(私のパッチなしで)。

于 2012-12-22T17:53:45.843 に答える
0

ホストのチュートリアル(http://wiki.alwaysdata.com/wiki/Deploying_a_Rails_3_application)に、開発環境にアプリをデプロイする必要があると書かれています。この環境では、アセットはプリコンパイルされていないため、同じ問題は発生しません。

本番環境でアプリを実行できるherokuまたはamazonのホストを切り替えることをお勧めします。

于 2012-12-21T12:33:55.310 に答える