grunt rpm 创建符号链接

grunt rpm create a symlink

我有这个 grunt 文件,它为我创建了一个 rpm 包,我如何创建一个像这样的符号链接,例如:

link("/usr/local/bin/tams-cli", "/opt/tams-cli/tams-cli.js")

没找到,下面是我的源代码。

grunt.initConfig({
    pkg: grunt.file.readJSON('./package.json'),
    easy_rpm: {
      options: {
        buildArch,
        rpmDestination: './built/',
      },
      release: {
        files: [
          {
            src: ['node_modules/**/*',
              'js/**/*',
              'cfg/*',
              'package.json',
              'readme.md',
            ],
            dest: '/opt/tams-cli',
          },
          {
            src: 'tams-cli.js',
            dest: '/opt/tams-cli',
            mode: 0550,
          }
        ],
        excludeFiles: [
          'tmp-*',
          './built',
        ],
      },
    },

要在安装 rpm 包后创建 symlink,请使用 easy_rpm 任务中的 postInstallScript 选项。 postInstallScript 的描述如下:

postInstallScript

Array<String>

An array of commands to be executed after the installation. Each element in the array represents a command.

在下面的 Gruntfile.js 摘录中,它利用 ln 命令使用另外两个选项创建符号 link:

  • -s 使符号 link 而不是硬 link.
  • -f 删除现有的目标文件(如果它们已经存在)。

Gruntfile.js

grunt.initConfig({
  // ...
  easy_rpm: {
    options: {
      postInstallScript: ['ln -s -f /opt/tams-cli/tams-cli.js /usr/local/bin/tams-cli'],
      // ..
    },
    // ...
  },
  // ...
});