「server.js」という Node.js ファイルがあります。
スクリプトでは、次のようなものを使用していくつかのファイルを開いています。
var certPem = fs.readFileSync('cert_and_key_dev.pem', encoding='ascii');
bash シェルを使用して、server.js があるディレクトリに移動し、次のコマンドを実行します。
[mybashshell]$ ノード server.js
動作します。エラーはありません。サーバーが起動して実行されます。
ここで、server.js ファイルがあるディレクトリから cd を実行し、同じシェル コマンドを再度実行してサーバーを起動します。
「cert_and_key_dev.pem」へのファイルパスが壊れていると不平を言っています。
私はこのようなことが起こるとは思っていませんでした。実行中のスクリプト ファイルで使用されるパスは、bash シェル コマンドを実行した場所ではなく、スクリプト ファイルからの相対パスである必要があります。
何か案は?