gpt4 book ai didi

macos - 节点模块在我的 Mac 上无故丢失

转载 作者:行者123 更新时间:2023-12-05 07:22:24 25 4
gpt4 key购买 nike

我的 package.json 文件中有十几个依赖项,其中包含许多其他依赖项。我们都知道依赖树可以快速增长。

我运行了很多次 npm run dev 都没有报错。但是,它最近开始提示缺少模块。当时依赖树中没有增量,我们也没有更改任何可能需要丢失模块的代码。

清除 node_modules 文件夹并重新执行 npm install 总能解决问题,但我不知道根本原因是什么或如何补救。过去,这是我偶尔遇到的问题。但是,它开始更频繁地出现。

最佳答案

与 npm 相比,这听起来更像是一个关于数据丢失的奇怪问题。

为了进行调查,我建议您观察文件夹树的变化并在内容被删除时显示警告。那么至少你可以在这种情况发生时缩小范围。也许甚至不是在开发期间,而是清理工具的一些日常服务。

  1. 尝试使用内置工具:启动“文件夹操作设置”(从 Spotlight)或右键单击您的包文件夹并选择服务 > 文件夹操作设置 ... 以配置在 Mac 中的文件夹更改上运行的脚本。如果它不触发子目录更改,恐怕您需要...

  2. 使用类似 fswatch 的命令行工具:

    $ brew install fswatch
    $ fswatch --recursive --timestamp /path/to/modules

您可以按事件类型进行过滤(请参阅 fswatch docs ),但请注意您需要 --event Removed --event Renamed 因为使用 Finder Trash 实际上是一个重命名/移动命令。

另请参阅如何在 Mac 上使用 fswatch 和其他 CLI 工具:Is there a command like "watch" or "inotifywait" on the Mac?

对于 fswatch,自定义脚本没有 on-change 触发器。您宁愿需要创建一个运行直到您杀死它的 shell 脚本,并将 fswatch 配置为在 1 个事件后退出以立即处理输出:

$WATCHED_PATH="/path/to/node/modules"
while [[ true ]]
do
path=`fswatch --recursive --one-event --event Removed --event Renamed "$WATCHED_PATH"`
applescript="tell app \"System Events\" to display dialog \"Removed $path\""
osascript -e $applescript
done

关于macos - 节点模块在我的 Mac 上无故丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56521687/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com