无法使用 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
正在尝试从远程 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