1. ホーム
  2. node.js

[解決済み] Node.js、ファイルを開くことができません。エラーです。ENOENT, stat './path/to/file'.

2022-07-22 10:41:19

質問

自分のパソコンでexpressフレームワークを使ったnode.jsのプログラムを開発したところ、特に不満もなく動いています。

しかし、そのプログラムを SUSE Studio アプライアンスで実行すると、どのようなファイルのやりとりでもエラーが発生します。

Error: ENOENT, stat './path/to/file'

私はファイルのパーミッションが正しいことを確認しました。 私のコンピューターとアプライアンスは、重要であれば、異なるバージョンの node を実行しています。

何か考えがありますか?

どのように解決するのですか?

で指定されたパスは . で指定されたパスは現在の作業ディレクトリからの相対パスであり、 スクリプトファイルからの相対パスではありません。従って node app.js を実行するとファイルが見つかるかもしれませんが node folder/app.js . 唯一の例外は require('./file') で、これが可能なのは require はモジュールごとに存在し、どのモジュールから呼び出されたかを知っているからに他なりません。

スクリプトへの相対パスを作成するために __dirname 変数を使用します。

var path = require('path');

path.join(__dirname, 'path/to/file')

または潜在的に

path.join(__dirname, 'path', 'to', 'file')