問題タブ [sinatra-assetpack]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - Sinatra アプリのセグメンテーション違反 (コア ダンプ) エラー
Sinatra アプリを実行してインデックス ページを読み込もうとすると、常にand がSegmentation fault (core dumped)
表示されます。SystemStackError stack level too deep
アプリサーバー (Thin) をすぐにシャットダウンします。どこが間違っているのかわからず、同様のエラーを見つけることができませんでした。Sinatra Assetpack に問題があるようです。layout.haml ファイルの行をコメント アウトすると、このエラーは発生しません。ここに私のメインアプリファイルがあります:
ここに私のindex.hamlファイルがあります:
これが私のlayout.hamlファイルです:
これが私のGemfileです:
デバッグで実行したときのエラーは次のとおりです。
ruby - シナトラ LoadError
Sinatra アプリで作業しているときに、誰かが助けてくれることを願って、奇妙な問題に遭遇しました。ruby 1.9.3 を実行していますが、これを使用してアプリを実行するruby myapp.rb
と、localhost でエラーが発生して実行されます。ただし、試しsudo ruby myapp.rb
てみると、Sinatraをロードできなかったというエラーが表示され、sinatraをプルするライブラリが表示されると、/usr/lib/ruby/1.9.1です
それが私の問題だと思いますが、このパスを変更する方法がわかりません。ルビーのパスを変更するには、アプリまたは端末でそれを行いますか?
sinatra - シナトラ、コンパス + アセット パック
Sinatra アプリで Compass と Asset Pack を使用しようとしています。私のセットアップは次のとおりです。
この行set :scss, Compass.sass_engine_options
ではコンパスを有効にしているように見えますが、これは次の行に乗り上げ、ロード パスがわからないため、SCSS パーシャルを使用できません。それらを同じ行に置くと、同じ効果があります。
TL:DR:コンパスと SCSS パーシャルをアセット パックと連携させることができません
ruby - Sinatra アプリ - Zurb Foundation を配置する場所?
私はこのシナトラ レシピ(Foundation フレームワーク + コンパス) に従っていますが、Foundation を実装するときに、これらのファイルをどこに配置すればよいか常に確信が持てませんでした。
私の Sinatra アプリの構造は次のとおりです。
foundation new project_name
から実行することで、アプリ内にsinatra_app
フォルダーがあります。project_name
このフォルダーに「foundation」という名前を付けて、それに応じてアセットを構築する必要があるかどうかは、少し混乱しています。
それとも、実際に私のsinatraアプリの外に置いて、コンパスに資産をsinatraアプリのフォルダー構造に構築させるべきですか?
チュートリアルから、すべての基本ファイルがsinatraアプリの実際のルートにあるように見えますが、それはまったく良いとは思えませんか? (財団によって生成されたすべての追加ファイル - human.txt、index.html、README.md など)
ruby - CoffeeScript が Sinatra AssetPack でコンパイルされない
Sinatra AssetPack を使用して、モジュラー Sinatra アプリケーションでアセットを管理しています。JS ファイルでうまく動作しますが、CoffeeScript をコンパイルしません。
Github の AssetPack readme と同じように、app.rbjs :app, ['/js/app.coffee']
のAssetPack conf に行を追加しました。どういうわけかindex.slimに追加しますが、ファイルにアクセスできません。<script src='app.coffee'></script>
Gemのcoffee-scriptはGemfileに記載されており、Nodeとcoffee-script npmパッケージがインストールされています。
私が間違っていることは何ですか?
ruby - vagrant を介して VM にデプロイされ、varnish によってプロビジョニングされ、デーモンとして実行されると、sinatra アプリが本番モードで停止する
私はsinatraアプリを持っています.本番環境で実行すると、おかしな動作をします.
最初のリクエストが機能し、アセットがダウンロードされ、ページが読み込まれます。ただし、ページを更新すると、リクエストが停止するだけで、ログ ファイルには何も記録されません。
私はsinatra-asset-packで実行しており、開始する前にアセットをプリコンパイルしました。
コードを投稿しますが、問題を解決するために何が必要かわかりません
編集: 自分のボックスでは問題なく動作しますが、vagrant を使用して VM にデプロイすると、運用モードでは停止しますが、開発モードでは問題ありません。
編集:このエラーを吐き出すことができました:
Errno::EPIPE 壊れたパイプ @ io_write -
そしてそれをアクションに絞り込みますが、アクションにコードを投稿しても何もログアウトされず、アクションの最初の行はログ記録アクションであるため、アクションがまったく実行されるかどうかわかりません。問題が発生した後にログが追加されたので、それが何であれ、それはないと思います。
編集: エラーは実際にここで発生します (sinatra の base.rb(1144):
編集:わかりました。配置コマンドを手動で実行すると、正常に動作します。奇妙なことに、フォークされているにもかかわらず、サーバーからの出力がまだ端末に出力されています。それが問題なのだろうか。壊れたパイプは、もはや存在しない端末であり (chef を介してデプロイされた場合)、そのため壊れています...多分?
utf-8 - ansible を介してシナトラ アセットをプリコンパイルできません
ansible を介して sinatra プロジェクトをデプロイしていますが、タスクの 1 つはアセットをプリコンパイルすることです。
最初は、rbenv を適切に初期化する方法について疑問に思いました。
次に、私がしたことは次のとおりです。
しかし、その後エラーが発生しましたEncoding::UndefinedConversionError at assets/application.js
ssh でサーバーに接続して実行すると、bundle exec rake assetpack:build
すべてが完全に機能しました。したがって、これは環境変数の設定に関連していると思います
lookup('env', 'LANG')
と言っていますが"msg": "ru_RU.UTF-8"
、 echo $LANG は「C」だと言っています(そこを見てください)。
この問題を見てください。それは言います:
Ansible は、必要のないモジュールで LANG を C に設定します。
Ansible モジュールは「$LANG=C」を自動的に設定します。
環境変数を追加しても、望ましい結果が得られませんでした:
同時に、シェルモジュールは について何も知らないように見えるbundle
ため、これもうまくいきませんでした:
export LANG=ru_RU.UTF-8
、command
モジュール、モジュールなどの膨大な数のコマンドを試しましshell
たが、何も役に立たず、すべての試みが惨めに失敗しました。
この問題を回避する方法がよくわかりません。
助けが必要!