【发布时间】:2020-09-21 14:39:21
【问题描述】:
我是一名网络开发学生,我的一个朋友也是。目前,我们正在使用同一课上同一本教科书提供的相同文件。练习的重点是练习 require.js 并探索它可以做什么。我们都采取了相同的步骤来确保下载了正确的包,并且 node 和 npm 版本是最新的。
当node index.js 在我的机器上运行时,服务器开始监听::8080 并打印os.tmpDir() is deprecated. Use os.tmpdir() instead. 因为我还是个新手,我不能 100% 确定什么是弃用,但我知道应用程序仍然有效。
当node index.js 在她的机器上运行时,她收到一条错误消息,指出os.tmpDir() 不是函数。我可以去localhost:8080,她不能。
我们已经尝试卸载和重新安装节点(稳定版本和最新版本)、比较文件(相同)以及比较软件包版本。不知何故,尽管我们正在使用的东西(除了我们的机器)之间没有任何差异,但我们正在经历两种不同的结果。
有什么建议吗?
错误信息:
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)
【问题讨论】:
-
如果您能显示更多导致问题的代码会更好。但即兴发挥,我想说你有两个不同版本的 node.js。
-
目前我们没有相同版本的node.js,但是之前我们有,结果是一样的。我已尽力完全控制安装过程和版本检查,以确保至少这是正确的。不过,感谢权宜之计的反馈!
-
弃用意味着不鼓励使用某些东西,原因有很多。通常这意味着库的维护者不再支持某些东西,并且可能会在未来的版本中完全删除。
-
太棒了!感谢您提供这些信息!
-
这是你的问题,她需要使用
os.tmpdir()和小写的d。正如您所指出的,有一个关于使用带有大写 D 的版本的弃用警告。看起来这已在节点 14 中完全删除。
标签: javascript node.js runtime-error version deprecated