无法使用 grunt 从 Windows 复制到 OSX

Can't copy from Windows to OSX with grunt

正在尝试从远程 Windows 10 台计算机将文件 grunt-contrib-copy 到 OSX。

这一切过去几年都运行良好,在过去的几个月里它停止工作了。可能是我将远程主机升级到 Win10 的时候,但不能确定。

正在尝试执行以下 grunt 任务:

copy: {
        main: {
            files: [
                {
                    expand:true,
                    cwd: '/Volumes/Users/bobo/Projects/abc/',
                    src: [
                        'css/**', 
                        'img/**', 
                        'js/**', 
                        'icon.png', 
                        'index.html'
                    ],
                    dest: './www/'
                },                  
            ]
        }
    }

... 失败并出现以下错误(请注意 EINVAL 等同于 *nix 世界中的 "invalid argument"):

Running "copy:main" (copy) task
Warning: Unable to read "/Volumes/Users/bobo/Projects/abc/css/MarkerCluster.Default.css" file (Error code: EINVAL). Use --force to continue.

有趣的是,它正确地遍历了树并找到了一个没有问题的源文件,但随后以失败的副本作为响应。

如果我删除任何子目录,一切正常:

src: [
    'css/**', 
    'img/**', 
    'js/**', 
    'icon.png', 
    'index.html'
],

有任何想法或后续调试步骤吗?

我终于找到了 SMB 共享的问题。我不得不强制 OSX 只使用 SMB1(而不是 SMB2)。

运行 在 OSX 上的命令是:

echo "[default]" >> ~/Library/Preferences/nsmb.conf; echo "smb_neg=smb1_only" >> ~/Library/Preferences/nsmb.conf