我无法在MacOS中运行nodejs javascript文件

时间:2015-01-16 07:00:10

标签: node.js macos batch-file

我有一个软件可以实时从特定的电子邮件中获取附件。 它是由节点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

1 个答案:

答案 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