我有一个存储常量,在一个名为 ListingController.js 的文件中使用
const storage = Storage({
keyFilename: "../key/keyname.json"
});
当我不使用 Docker 时一切正常,但在创建 Docker 映像并将其部署到服务器后,我收到以下错误:
ENOENT: no such file or directory, open '/key/keyname.json'
at wrapError (/app/node_modules/gcs-resumable-upload/build/src/index.js:17:12)
at /app/node_modules/gcs-resumable-upload/build/src/index.js:235:19
at getToken (/app/node_modules/google-auto-auth/index.js:27:9)
at getAuthClient (/app/node_modules/google-auto-auth/index.js:233:9)
at <anonymous>
在这里,我看到一个问题,即路径前面的“..”被忽略,这就是我认为找不到该文件的原因。
这是我的项目结构:
src
--- key
----- keyname.json
----- firebasekeyfilename.json
--- controller
----- listingController.js
----- firebaseController.js
我已经尝试了文件名和路径的所有不同组合,但我无法让它找到该文件。
有谁知道为什么会这样?
在我的 firebaseController 中,我有以下对同一文件夹中类似文件的引用,它工作正常。
var serviceAccount = require("../key/firebasekeyfilename");
唯一的区别是路径在里面require()
,我猜这需要不同的路径。
这几天一直纠结这个问题,求指点,谢谢!