从节点运行shell脚本 - ERROR {[错误:找不到模块'xxx']代码:'MODULE_NOT_FOUND'}

时间:2016-04-18 09:58:27

标签: javascript node.js

使用节点4.4.2。在ubuntu linux上调用.sh文件时收到以下错误。

  

错误{[错误:找不到模块'src / util / buildscripts / build.sh']代码:'MODULE_NOT_FOUND'}

        var sh = require.resolve('src/util/buildscripts/build.sh'),
            profile = require.resolve('profiles/app.profile.js'),
            ls = spawn(sh, '--profile', profile]);
        });

build.sh的位置似乎是正确的,但错误'MODULE_NOT_FOUND'对我来说似乎有误导性,因为我不是要尝试导入模块而只是在子进程中打开.sh文件。

注意我有一个非常类似的Windows版本,下面有一个完整的例子:

任何想法在这里可能出错?

        var bat = require.resolve('../src/util/buildscripts/build.bat'),
            profile = require.resolve('../profiles/app.profile.js'),
            ls = spawn(bat, ['--profile', profile]);

2 个答案:

答案 0 :(得分:0)

您为Windows版本编写的路径与失败版本不同。你确定Ubuntu是对的吗?

答案 1 :(得分:0)

我能够使用shelljs和这个命令解决问题:

sed('-i', 's/\r//', 'src/util/buildscripts/*.sh');

问题是由错误的行结束引起的。