javascript - grunt-ssh 给出 - 错误 : no such file while upload

标签 javascript node.js ssh gruntjs grunt-ssh

我在使用 grunt-ssh 插件时遇到问题。到目前为止,我已经编写了一个测试代码来检查功能,然后再在真实环境中使用它。这是我的 grunt 文件:


module.exports = function(grunt) {

  // Project configuration.
  grunt.initConfig({
    secret: grunt.file.readJSON('secret.json'),

    sftp: {
        test: {
            files: {
                "./": "Data/**/*.css"
            },
            options: {
                path: 'TEST/',
                host: '<%= secret.host %>',
                username: '<%= secret.username %>',
                privateKey: "<%= grunt.file.read(secret.key) %>"//,
                //createDirectories: true
            }
        }
    }
  });

  grunt.loadNpmTasks('grunt-ssh');

  // Default task(s).
  grunt.registerTask('default', ['sftp:test']);

};

secret.json 很简单并且有效,所以我不会在这里发布它。

我的问题是,为什么 grunt 给我一个如下所示的错误:

Connection :: connect
copying Data/test1/test.css to TEST/Data/test1/test.css
>> Error: No such file
Connection :: end
Copied
Connection :: close
SFTP :: session end

如果我取消注释 createDirectories 选项,gruntfile 会在正确的位置添加正确的文件夹,但不会复制任何文件。所以我想权限是正确的。

这可能与我的操作系统是 Windows 并且我上传到 Unix 服务器有关吗?带有 createDirectories 选项的文件夹结构是正确的......

提前感谢大家的帮助!

最佳答案

可能是因为目录权限。你应该试试这个:

directoryPermissions: parseInt('755', 8)

关于javascript - grunt-ssh 给出 - 错误 : no such file while upload,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30048880/

相关文章:

javascript - 在图像预览中选择“可拖动”

javascript - 如何将 JSON 字符串附加到 HTML 预标记?

javascript - Dom 样式化外部对象?

javascript - NodeJS 和同步调用 mysql

ssh - 如何在 SSH session 中转发本地 key 对?

javascript - 谷歌地图 API 返回 "Undefined"

node.js - 使用 Nodejs 检查 Cassandra 状态

node.js - 偏执表上的级联删除 - Sequelize

shell - 使用 Jenkins 通过 SSH 连接到 EC2 Ubuntu 实例并运行 shell 脚本

通过 ssh 进行 mysql 复制 - 失败