首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Node.Js -返回路径(pathModule._makeLong(binding.mkdir),

Node.Js -返回路径(pathModule._makeLong(binding.mkdir),
EN

Stack Overflow用户
提问于 2016-06-22 02:43:04
回答 1查看 3.1K关注 0票数 0

我正在尝试运行NodeFuzz。该代码原本打算在Linux上运行,但我正在尝试在MacOSX上运行它。该文件名为Instrumentation.js,代码来自本文http://jultika.oulu.fi/files/nbnfioulu-201504161396.pdf这里是代码

代码语言:javascript
复制
var spawn=require('child_process').spawn
var fs=require('fs')
var browser={}
function cloneArray(obj){
 var copy = [];
 for (var i = 0; i < obj.length; ++i) {
 copy[i] = obj[i];
 }
 return copy;
}
function saveResults(){
var testCases=cloneArray(config.previousTestCasesBuffer)
var time=new Date().getTime()
if(!fs.existsSync(config.resultDir+'/'+time)){
 fs.mkdirSync(config.resultDir+'/'+time)
 testCases.forEach(function(testCase,index){
 fs.writeFileSync(config.resultDir+'/'+time+'/'+index+'.html',testCase)
 })
 restartBrowser()
}
}
var startBrowser = function(){
browser = spawn(config.browserLaunchCommand, config.browserArguments)
}
function restartBrowser(){
browser.kill()
setTimeout(startBrowser,1000)
}
function handleFeedback(data){
console.log(data)
}
instrumentationEvents.on('websocketTimeout',saveResults)
instrumentationEvents.on('startClient',startBrowser)
instrumentationEvents.on('testCasesWithoutRestartLimit',restartBrowser)
instrumentationEvents.on('feedbackMessage',handleFeedback)

下面是错误

代码语言:javascript
复制
Loading default configuration-file:
./config.js
config.js had no property init.
Loading default instrumentation-module:
./Instrumentation.js
No module folder given. Defaulting to ./TestCaseGenerator.js from config.js
Found property init() from module ./TestCaseGenerator.js
Successfully required module ./TestCaseGenerator.js
We have 1 modules available.
Server listening port 1000
Tue Jun 21 2016 12:34:33 GMT-0400 (EDT): Feedback-loop initialized.
fs.js:794
  return binding.mkdir(pathModule._makeLong(path),
             ^

Error: ENOENT: no such file or directory, mkdir './results//1466526873714'
at Error (native)
at Object.fs.mkdirSync (fs.js:794:18)
at EventEmitter.saveResults (/Users/greg/NodeFuzz/Instrumentation.js:15:5)
at emitNone (events.js:67:13)
at EventEmitter.emit (events.js:166:7)
at null._onTimeout (/Users/student/NodeFuzz/nodefuzz.js:216:30)
at Timer.listOnTimeout (timers.js:92:15)
EN

回答 1

Stack Overflow用户

发布于 2016-06-22 03:04:43

通过连接替换所有创建路径的内容

例如config.resultDir+'/'+time+'/'+index+'.html'

通过以下方式:

代码语言:javascript
复制
var path = require('path'); //at the top of the file
path.join(config.resultDir, time, index + '.html')

现在你将被保证在你的路径中永远不会有一个双/,作为一个额外的奖励,它将为你的操作系统使用正确的路径分隔符(如果你想在windows上运行它)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37952225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档