使用 NodeJS 将文件保存在 Snap (Snapcraft) 中
Saving a file in a Snap (Snapcraft) with NodeJS
我在快照 运行ning 时创建新文件时遇到问题;示例:
1) Snap 启动并检查位于 ./config/config.json
的 config.json
文件
2) 如果找不到该文件(这绝不是第一次应用程序 运行s),它将创建它 fs.writeFile('./config/config.json', 'My Data', 'utf8', (err) => {....})
3) 然后我会在稍后查找该文件以使用它。
我能够 运行 我的节点应用程序,并且在使用 node index.js
时一切正常
我也能够 运行 使用 snap try prime/ --devmode
和所有作品。
当 运行ning snap try prime/
我在系统日志中收到此错误
Error: ENOENT: no such file or directory, open './config/config.json'
创建时出错。
任何对此的帮助都会很棒!!提前致谢。
我能够通过 NOT 在 NodeJS 中创建和检查配置文件并将所有这些逻辑移动到安装挂钩 (https://docs.snapcraft.io/build-snaps/hooks) 来解决这个问题。
所以现在我的安装挂钩将检查配置文件并创建它,如果它不存在,然后我允许 NodeJS 稍后写入该文件,这样我仍然可以在 NodeJS 中而不是在 Bash。下面是我的安装挂钩,别忘了让它可执行。
此文件位于 snap/hooks/install
#!/bin/sh
set -e
CONFIG_FILE=$SNAP_COMMON/config.json
if [ ! -f $CONFIG_FILE ]; then
# File Not Found, Create it
echo '{}' > $CONFIG_FILE
fi
希望这对某人有所帮助!
我在快照 运行ning 时创建新文件时遇到问题;示例:
1) Snap 启动并检查位于 ./config/config.json
config.json
文件
2) 如果找不到该文件(这绝不是第一次应用程序 运行s),它将创建它 fs.writeFile('./config/config.json', 'My Data', 'utf8', (err) => {....})
3) 然后我会在稍后查找该文件以使用它。
我能够 运行 我的节点应用程序,并且在使用 node index.js
我也能够 运行 使用 snap try prime/ --devmode
和所有作品。
当 运行ning snap try prime/
我在系统日志中收到此错误
Error: ENOENT: no such file or directory, open './config/config.json'
创建时出错。
任何对此的帮助都会很棒!!提前致谢。
我能够通过 NOT 在 NodeJS 中创建和检查配置文件并将所有这些逻辑移动到安装挂钩 (https://docs.snapcraft.io/build-snaps/hooks) 来解决这个问题。
所以现在我的安装挂钩将检查配置文件并创建它,如果它不存在,然后我允许 NodeJS 稍后写入该文件,这样我仍然可以在 NodeJS 中而不是在 Bash。下面是我的安装挂钩,别忘了让它可执行。
此文件位于 snap/hooks/install
#!/bin/sh
set -e
CONFIG_FILE=$SNAP_COMMON/config.json
if [ ! -f $CONFIG_FILE ]; then
# File Not Found, Create it
echo '{}' > $CONFIG_FILE
fi
希望这对某人有所帮助!