Я работаю над начальным модулем «Разблокированные пакеты для клиентов». При создании версии пакета я получаю следующую ошибку: ОШИБКА: значение --path (-d), [force-app] и значение --package (-p), [th-dreamhouse], были найдены в sfdx-project.json, но не совпадение. Если вы укажете оба значения, они должны совпадать со значениями пути и пакета в одном из каталогов пакетов.

Моя команда sfdx: sfdx force:package:version:create -p th-dreamhouse -d force-app -k test1234 --wait 10 -v DevHub

Мой файл sfdx-project.json:

{
    "packageDirectories": [
        {
            "path": "force-app",
            "default": true,
            "package": "dreamhouse",
            "versionName": "ver 1.0",
            "versionNumber": "1.0.0.NEXT"
        },
        {
            "path": "force-app",
            "package": "th-dreamhouse",
            "versionName": "ver 1.0",
            "versionNumber": "1.0.0.NEXT",
            "default": false
        }
    ],
    "namespace": "",
    "sfdcLoginUrl": "https://login.salesforce.com",
    "sourceApiVersion": "44.0",
    "packageAliases": {
        "dreamhouse": "0Ho0I000000PAscSAG",
        "dreamhouse@1.0.0-1": "04t0I000001E1xdQAC",
        "th-dreamhouse": "0Ho0I000000PAshSAG"
    }
}
1
salesforce Developer 11 Дек 2018 в 15:26

3 ответа

Лучший ответ

Эта ошибка возникает из-за того, что у вас есть два разных пакета, использующих путь force-app. Поскольку вы указываете как -d, так и -p в своей команде, путь, который вы указываете для флага -d, должен совпадать с путем для пакета, который вы предоставляете с -p флаг. Но ваш путь используется как для dreamhouse, так и для th-dreamhouse, поэтому ваш путь на самом деле не совпадает с предоставленным пакетом.

Есть ли причина, по которой вы использовали force-app для обоих пакетов? Похоже, это ошибка, и если вы либо удалите пакет dreamhouse из вашего json-файла (если он не нужен), либо установите для него другой путь, вы должны перестать получать эту ошибку.

10
John Towers 11 Дек 2018 в 16:11

Другое решение, которое я тестирую здесь: Дублировать каталог force-app с другим именем, как force-app-2

Попробуйте эту команду изменить каталог. sfdx force:package:version:create -p th-dreamhouse -d force-app2 -k test1234 --wait 10 -v DevHub

У меня работает, ткс

2
Chiarato 6 Июн 2019 в 10:25

Я удалил эту часть из файла sfdx-project.json.

{
            "path": "force-app",
            "default": true,
            "package": "dreamhouse",
            "versionName": "ver 1.0",
            "versionNumber": "1.0.0.NEXT"
        },

И это сработало.

**Один путь не может использоваться более чем одним пакетом **

И обязательно измените атрибут по умолчанию на true!!

{
            "path": "force-app",
            "package": "th-dreamhouse",
            "versionName": "ver 0.1",
            "versionNumber": "0.1.0.NEXT",
            "default": true
        }
0
Wael Chorfan 26 Июн 2020 в 19:22