1

Ubuntu(14.04) で AWS に EC2 インスタンスを作成しました。これにfoxx managerを使用してarangodbアプリケーションをインストールしようとしています。パテで接続しました。Sudo apt-get install arangodb を使用して arangodb をインストールしました。ubuntuマシンのgitからプロジェクトも取得しました。foxx-manager installを使用してアプリケーションをインストールしようとしているとき。/DataSandboxとしてエラーが発生します

「StdOut: ArangoError 3103: モジュールの呼び出しに失敗しました。
ファイル: /var/lib/arangodb-apps/_db/_system/DataSandbox/APP/controllers/Reports.js
原因: ArangoError 3100: モジュール
ファイルが見つかりません: リポジトリ/レポート」

ファイルリポジトリ/レポートを確認すると存在し、/var/lib/arangodb-apps パスを確認すると、/var/lib/arangodb-apps/_db/_system/DataSandbox/ のような Datasandbox まで存在します。arangodb-apps の Datasandbox フォルダーが空です。

AWSから作成されていない別のubuntuマシンで行ったのと同じプロセス。その上で、正常にインストールされました。

誰でもこのエラーについて教えてもらえますかモジュールが見つかりませんか?

前もって感謝します。

4

1 に答える 1

2

異なる結果が見られた 2 台のマシン (つまり、動作したマシンと動作しなかったマシン) で同じバージョンの ArangoDB が実行されていたかどうか、および使用していたバージョンを明確にしていただけますか?

このエラーは、解決できなかったrequire通話controllers/Reports.jsがあることを示しています。repositories/Reports動作するマシンが古いバージョンの ArangoDB を実行していた場合、require特定の名前を解決する方法の変更に少し悩まされている可能性があります: https://www.arangodb.com/2015/11/foxx-module-resolution- will-change-in-2-8/

文字通り、コントローラーに次のような式があると思います。

require('repositories/Reports')

これは、「リポジトリ/レポート」と呼ばれる (サードパーティまたは ArangoDB) モジュールを見つけようとして失敗するため、2.8 以降では機能しません。

代わりに、コントローラー ファイルからリポジトリ ファイルへの相対パスにする必要があります。

require('../repositories/Reports')

于 2016-08-04T16:17:39.147 に答える