我正在使用gulp复制创建的构建包:
gulp.task('fill-deploy-target', ['init-deploy-target'], () =>
gulp.src(['server*/**/*', 'node_modules*/**/*', 'package.json', 'package-lock.json',
'ecosystem.config.js', 'gulpfile.js', '.sequelizerc'], { dot: true })
.pipe(gulp.dest(`${deployTargetDir}/app_install/app/package`)));
在node_modules中有一个文件夹.bin导致了这个问题。.bin文件夹中的所有文件都被复制了,但是当我尝试运行build cross-env时,却出现了这个错误。当我手动将.bin文件夹复制到服务器时,没有错误表明它是包含相同文件的同一个文件夹。可能是什么问题?
1条答案
按热度按时间lymnna711#
我没有使用gulp,但我猜gulp不荣誉(软)符号链接。
在我的.bin文件夹中,所有文件都是指向node_modules文件夹的符号链接:
然而,当我只是复制文件夹(例如,使用filezilla,或者在您的情况下使用gulp)时,我看到以下内容(
ls -al
):当您检查
cross-env
文件时,您可以看到它需要('..')文件,这在符号链接的情况下有效,但是如果它只是复制文件,则会失败。因此,解决方案是使用符号链接复制.bin文件,或者使用绝对路径运行cross-env,如下所示: