为什么只有在某些机器上调用os.tmpDir()会产生错误?

问题描述 投票:0回答:1

我是一名网络开发学生,我的一个朋友也是。目前我们在同一个班级中使用的是同一本教材提供的相同文件。练习的重点是练习使用require.js,探索它能做什么。我们两个人都采取了同样的步骤,确保下载了合适的包,并且node和npm的版本是最新的。

node index.js 在我的机器上运行,服务器开始监听。::8080 和打印 os.tmpDir() is deprecated. Use os.tmpdir() instead. 由于我还是相当的新手,我并不是100%的清楚什么是真正的deprecation,但我知道这个应用仍然可以使用。

node index.js 在她的机器上运行时,她收到了一个错误信息,指出 os.tmpDir() 不是一个函数。我可以去哪里 localhost:8080她不能。

我们尝试了卸载和重新安装node(包括稳定版和最新版本),比较文件(它们是相同的),并比较包的版本。不知何故,尽管我们的工作没有任何差异(除了我们的机器),但似乎我们遇到了两个不同的结果。

有什么建议吗?

错误信息。

C:\Users\Nereida\Documents\Classes\Summer2020\WEB.215\requirejs\node_modules\mach\lib\utils\makeTemporaryPath.js:4
var TMP_DIR = require("os").tmpDir();
                            ^

TypeError: require(...).tmpDir is not a function
    at Object.<anonymous> (C:\Users\Nereida\Documents\Classes\Summer2020\WEB.215\requirejs\node_modules[4mmach[24m\lib\utils\makeTemporaryPath.js:4:29)
    at Module._compile (internal/modules/cjs/loader.js:1200:30)[39m
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1220:10)[39m
    at Module.load (internal/modules/cjs/loader.js:1049:32)[39m
    at Function.Module._load (internal/modules/cjs/loader.js:937:14)[39m
    at Module.require (internal/modules/cjs/loader.js:1089:19)[39m
    at require (internal/modules/cjs/helpers.js:73:18)[39m
    at Object.<anonymous> (C:\Users\Nereida\Documents\Classes\Summer2020\WEB.215\requirejs\node_modules[4mmach[24m\lib\utils\saveToDisk.js:6:25)
    at Module._compile (internal/modules/cjs/loader.js:1200:30)[39m
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1220:10)
javascript node.js runtime-error version deprecated
1个回答
1
投票

答案是这样的 djfdev的评论:

这是你的问题,她需要使用。os.tmpdir() 正如你所指出的,有一个关于使用大写字母 D 的版本的废弃警告,看起来这在节点 14 中被完全删除了。

这么简单......这么多时间。你是我的救星 djfdev!

© www.soinside.com 2019 - 2024. All rights reserved.