You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改ts-node-dev缓存目录?多种尝试失败求助

解决ts-node-dev缓存目录修改失败的方案

1. 直接给start脚本传递参数(最直接方案)

npm脚本接收外部参数必须在参数前加--,否则参数会被npm拦截,无法传递给ts-node-dev。正确命令:

npm run start -- --cache-directory ./your-custom-cache

等号形式同样生效:

npm run start -- --cache-directory=./your-custom-cache

2. 正确使用环境变量

注意:ts-node-dev的缓存目录环境变量是TS_NODE_DEV_CACHE_DIRECTORY(区别于ts-node的TS_NODE_CACHE_DIRECTORY),设置方式如下:

  • 临时生效(当前shell会话):
export TS_NODE_DEV_CACHE_DIRECTORY="./your-custom-cache"
npm run start
  • 永久生效(写入shell配置文件):
echo 'export TS_NODE_DEV_CACHE_DIRECTORY="./your-custom-cache"' >> ~/.bashrc
source ~/.bashrc
npm run start

3. 修复start-custom-cache脚本的参数传递

针对你自定义的脚本,需调整两点:

  • 参数传递格式:必须用npm run start-custom-cache --myflag_cache_dir=./your-custom-cache的形式直接传递配置项
  • 脚本变量展开:给package.json的脚本添加变量默认值,避免参数未传递时出错,修改后脚本:
"scripts": {
    "start-custom-cache": "ts-node-dev --transpile-only --cache-directory \"${npm_config_myflag_cache_dir:-./default-cache}\" ./src/parser.ts",
    "start": "ts-node-dev --transpile-only ./src/parser.ts"
}

运行命令示例:

npm run start-custom-cache --myflag_cache_dir=./your-custom-cache

验证方法

可添加调试脚本确认参数是否正确传递:

"scripts": {
    "start-debug": "echo Received cache dir: $npm_config_myflag_cache_dir && ts-node-dev --transpile-only --cache-directory $npm_config_myflag_cache_dir ./src/parser.ts"
}

运行后先查看打印的路径是否符合预期,再检查ts-node-dev的实际缓存目录。

内容的提问来源于stack exchange,提问作者Blitzkoder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 21:06:01