2017-06-05 255 views
1

当我试图在流星https://github.com/vsivsi/meteor-job-collection流星错误:ENOTEMPTY:目录不是空

它会下载100%,提取加载以下包,但在装货时,它抛出以下错误:

{ [ 
Error: ENOTEMPTY: directory not empty, rmdir 'C:\Users\LALITS~1\AppData\Local\Temp\mt-16riklk\npm\job\node_modules'] 
    errno: -4051, 
    code: 'ENOTEMPTY', 
    syscall: 'rmdir', 
    path: 'C:\\Users\\LALITS~1\\AppData\\Local\\Temp\\mt-16riklk\\npm\\job\\node_modules' } 

我使用的是Windows 8.1 64位。 我试图手动删除该文件夹,但它又创建了一个新的并引发相同的错误。谁能告诉我有什么问题?我错过了什么吗?

在此先感谢。

+0

你有什么旧版本仍在运行?您是否尝试过重新启动机器? –

+0

是的,我重新启动了机器并进行了检查。 –

+0

我正在使用流星1.4.4.3 –

回答

0

你的问题看起来像这个已知的流星bug: https://github.com/meteor/meteor/issues/8663。当更新到下一个Meteor版本时,此错误在Windows下发生。

也许你可以尝试提出解决方案,这是编辑以下文件:

C:\Users\[yourName]\AppData\Local\.meteor\packages\meteor-tool\[yourMeteorVersion]\mt-os.windows.x86_32\tools\fs\files.js 

...并使用此代码替换功能files.rm_recursive_asyncfiles.rm_recursive

files.rm_recursive_async = function (path) { 
    return new Promise(function (resolve, reject) { 
    rimraf(files.convertToOSPath(path), function (err) { 
     err && console.log(err); 
     resolve(); 
     //return err ? reject(err) : resolve(); 
    }); 
    }); 
}; // Like rm -r. 

files.rm_recursive = Profile("files.rm_recursive", function (path) { 
    try { 
    rimraf.sync(files.convertToOSPath(path)); 
    } catch (e) { 
    if (e.code === "ENOTEMPTY" && canYield()) { 
     files.rm_recursive_async(path).await(); 
     return; 
    } 

    console.log(e); 
    //throw e; 
    } 
}); // Makes all files in a tree read-only.