我有一个软件可以实时从特定的电子邮件中获取附件。 它是由节点js制作的。 它适用于窗口7。 这是目录结构。
myfolder
| -- node_modules (<code>imap</code>,<code>mime</code>,<code>fs</code>,<code>ftp</code> ......) -- run.bat -- uploadCSV.js</li>
MacOS
,我创建了run.command文件而不是run.bat文件。
Content of run.bat --- node upload.CSV
Content of run.command --- #!/bin/bash
node uploadCSV.js
当我在nodejs
中安装MacOS
并双击run.command时,会出现一些错误,如下所示。
Last login: Fri Jan 16 10:19:23 on ttys000
Mimis-Mac-mini:~ mimi$ /Users/mimi/Documents/app/run.command ; exit;
module.js:340
throw err;
^
'rror: Cannot find module '/Users/mimi/uploadCSV.js
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:929(cat)
logout
我不太了解MacOS的shell脚本。 帮我 !为什么我可以修复此错误? 谢谢,Tomi
答案 0 :(得分:0)
它与您当前的工作目录有关。您正在执行&#34;节点uploadCSV.js&#34;来自用户的主目录。 Node正在尝试从/ Users / mimi加载uploadCSV.js。这就是你得到错误的原因&#34;找不到模块/Users/mimi/uploadCSV.js"。
您只需使用节点文件cd(更改目录)到文件夹即可解决此问题。
$ cd /Users/mimi/Documents/app/
$ ./run.command
您还可以更改run.command以包含节点脚本的完整路径:
node /Users/mimi/Documents/app/uploadCSV.js