1

リリース後のビルドイベントでは、JavaScriptファイルを縮小してRequireJSと組み合わせるために、node.exeを実行します。これにより、Webサイトのフォルダー内に新しいフォルダーと縮小ファイルが作成され、デバッグが無効になっているときにHTMLで参照されます。

node.exeはソース管理内に含まれており、ローカルマシンでこれを構築すると正常に機能します。

これをAppHarborでビルドすると、実行直後に次のエラーが発生します

"node.exe <<PATH TO r.js>> -o <<PATH TO app.build.js>>"

fs.js:520
    return binding.lstat(pathModule._makeLong(path));
                   ^
EXEC : error : EPERM, operation not permitted 'D:\temp'

これは、AppHarborでフォルダー/ファイルを作成する権限がないためですか?これを回避して縮小ファイルを作成するにはどうすればよいですか?

縮小されたファイルをソース管理に事前に組み込みたくありません。

4

2 に答える 2

1

AppHarbor FAQ から: http://support.appharbor.com/kb/getting-started/frequently-asked-questions

アプリケーションがファイルを書き込めない デフォルトでは、AppHarbor にデプロイされたアプリケーションは App_Data フォルダにしか書き込めません。アプリケーション ディレクトリ アプリケーション設定全体への書き込みアクセスを有効にすることができます。変更 (App_Data とアプリケーション ディレクトリの残りの部分の両方) はデプロイ間で永続化されないため、キャッシュやその他の一時的な用途にのみ使用する必要があることに注意してください。

お役に立てれば ;)

于 2012-08-12T10:07:30.527 に答える
0

これを解決する最善の方法は、おそらく AppHarbor ビルドをローカルで再現し、すべてが本来あるべき場所に確実に移動するようにすることです。これは実行したいものです: msbuild solution.sln /p:Configuration=Release /property:OutDir=C:\temp. FAQ に詳細があります: http://support.appharbor.com/kb/getting-started/frequently-asked-questions

于 2012-08-12T23:42:50.810 に答える