Ошибка: отсутствует коммерческий провайдер. Почему я продолжаю получать эту ошибку в стартовом пакете Nextjs Vercel Commerce?

Поэтому я клонировал стартовый пакет ecom в Vercel и продолжаю получать эту ошибку, а также другие. Сначала он не распознал React и React-dom, хотя это было показано в зависимостях.

npm WARN [email protected] требует однорангового узла response@^16.6.0 || ^ 17, но ничего не установлено. Вы должны сами установить одноранговые зависимости.

Итак, я запустил npm install && update.

Я узнал о проблеме с node_modules в .gitignore, когда node_modules был в файле. Я все еще запускал npm rm -rf node_modules, а затем снова npm i, но все равно ничего не добился.

готов - запущенный сервер на 0.0.0.0:3000, url: http: // localhost: 3000 Ошибка: коммерческий провайдер отсутствует, пожалуйста, добавьте действительное имя провайдера или его переменные среды в withCommerceConfig (/ Users / ThomasJMai / Sites / ecom / framework / commerce / config.js: 28: 11) в Object. (/Users/ThomasJMai/Sites/ecom/next.config.js:11:18) в Module._compile (internal / modules / cjs / loader.js: 1137: 30) в Object.Module._extensions..js (internal /modules/cjs/loader.js:1157:10) в Module.load (internal / modules / cjs / loader.js: 985: 32) в Function.Module._load (internal / modules / cjs / loader.js: 878 : 14) в Module.require (internal / modules / cjs / loader.js: 1025: 19) в require (internal / modules / cjs / helpers.js: 72: 18) в loadConfig (/ Users / ThomasJMai / Sites / ecom /node_modules/next/dist/next-server/server/config.js:8:94) в async NextServer.loadConfig (/Users/ThomasJMai/Sites/ecom/node_modules/next/dist/server/next.js:1: 2962) нпм ERR! код ELIFECYCLE npm ERR! errno 1 npm ERR! [email protected] начало: next start npm ERR! Статус выхода 1 нпм ERR! npm ERR! Ошибка при запуске скрипта [email protected]. npm ERR! Вероятно, это не проблема npm. Скорее всего, выше есть дополнительный вывод журнала.

Вот файл package.json

{
      "name": "nextjs-commerce",
      "version": "1.0.0",
      "scripts": {
        "dev": "next dev",
        "build": "next build",
        "start": "next start",
        "analyze": "BUNDLE_ANALYZE=both yarn build",
        "prettier-fix": "prettier --write .",
        "find:unused": "next-unused",
        "generate": "graphql-codegen",
        "generate:definitions": "node framework/bigcommerce/scripts/generate-definitions.js"
      },
      "sideEffects": false,
      "license": "MIT",
      "engines": {
        "node": "14.x"
      },
      "dependencies": {
        "@reach/portal": "^0.11.2",
        "@vercel/fetch": "^6.1.0",
        "autoprefixer": "^10.2.4",
        "body-scroll-lock": "^3.1.5",
        "bowser": "^2.11.0",
        "classnames": "^2.2.6",
        "cookie": "^0.4.1",
        "dot-object": "^2.1.4",
        "email-validator": "^2.0.4",
        "immutability-helper": "^3.1.1",
        "js-cookie": "^2.2.1",
        "keen-slider": "^5.2.4",
        "lodash.debounce": "^4.0.8",
        "lodash.random": "^3.2.0",
        "lodash.throttle": "^4.1.1",
        "next": "^10.0.9-canary.5",
        "next-seo": "^4.11.0",
        "next-themes": "^0.0.4",
        "postcss": "^8.2.6",
        "postcss-nesting": "^7.0.1",
        "react": "^17.0.2",
        "react-dom": "^17.0.2",
        "react-merge-refs": "^1.1.0",
        "react-ticker": "^1.2.2",
        "shopify-buy": "^2.11.0",
        "swr": "^0.4.0",
        "tabbable": "^5.1.5",
        "tailwindcss": "^2.0.3"
      },
      "devDependencies": {
        "@graphql-codegen/cli": "^1.20.0",
        "@graphql-codegen/schema-ast": "^1.18.1",
        "@graphql-codegen/typescript": "^1.19.0",
        "@graphql-codegen/typescript-operations": "^1.17.13",
        "@manifoldco/swagger-to-ts": "^2.1.0",
        "@next/bundle-analyzer": "^10.0.1",
        "@types/body-scroll-lock": "^2.6.1",
        "@types/classnames": "^2.2.10",
        "@types/cookie": "^0.4.0",
        "@types/js-cookie": "^2.2.6",
        "@types/lodash.debounce": "^4.0.6",
        "@types/lodash.random": "^3.2.6",
        "@types/lodash.throttle": "^4.1.6",
        "@types/node": "^14.14.16",
        "@types/react": "^17.0.0",
        "@types/shopify-buy": "^2.10.5",
        "deepmerge": "^4.2.2",
        "graphql": "^15.4.0",
        "husky": "^4.3.8",
        "lint-staged": "^10.5.3",
        "next-unused": "0.0.6",
        "postcss-flexbugs-fixes": "^4.2.1",
        "postcss-preset-env": "^6.7.0",
        "prettier": "^2.2.1",
        "typescript": "^4.0.3"
      },
      "husky": {
        "hooks": {
          "pre-commit": "lint-staged"
        }
      },
      "lint-staged": {
        "**/*.{js,jsx,ts,tsx}": [
          "prettier --write",
          "git add"
        ],
        "**/*.{md,mdx,json}": [
          "prettier --write",
          "git add"
        ]
      },
      "next-unused": {
        "alias": {
          "@lib/*": [
            "lib/*"
          ],
          "@assets/*": [
            "assets/*"
          ],
          "@config/*": [
            "config/*"
          ],
          "@components/*": [
            "components/*"
          ],
          "@utils/*": [
            "utils/*"
          ]
        },
        "debug": true,
        "include": [
          "components",
          "lib",
          "pages"
        ],
        "exclude": [],
        "entrypoints": [
          "pages"
        ]
      }
}

Я очень сбит с толку, так как это должен быть стартовый пакет, но я даже не могу его развернуть. Я новичок в Nextjs, но что здесь происходит и какого черта мне не хватает?


person Thomas M    schedule 06.04.2021    source источник
comment
Кроме того, в Vercel говорится об удалении файлов package-lock.json, поскольку Ecom Starter использует yarn.lock, однако, когда я это делаю, он говорит, что мне нужно добавить React и React-dom в качестве зависимостей. Если я установлю react и react-dom, он добавит обратно json-файл, так что я запутался!   -  person Thomas M    schedule 06.04.2021


Ответы (2)


Из коробки вам предоставляется файл .env.template. Файл config.js будет искать process.env.COMMERCE_PROVIDER.

Попробуйте переименовать .env.template в просто .env и посмотрите, что произойдет.

person Marshall Serlin    schedule 20.04.2021

Раньше я не использовал Next.js Commerce, но в документации по адресу https://github.com/vercel/commerce говорит:

  1. Установите пряжу: npm install -g yarn
  2. Установите зависимости: пряжа

Таким образом yarn.lock будет сгенерирован автоматически, и у вас не будет package-lock.json.

Прежде чем попробовать это, удалите текущую папку package-lock.json и node_modules, если они у вас есть.

person Ronald    schedule 06.04.2021
comment
Спасибо, я попробовал, но ничего не вышло. Служба поддержки Vercel ответила и сказала, что это переменные env для Big Commerce или Shopify, но я не думаю, что это имеет смысл, поскольку я продолжаю получать эту ошибку о модулях. - person Thomas M; 06.04.2021
comment
В сообщении об ошибке указывается, что коммерческий провайдер отсутствует, пожалуйста, добавьте действительное имя провайдера или его переменные среды в withCommerceConfig - вы это сделали? - person leerob; 07.04.2021
comment
Да и до сих пор не работает. - person Thomas M; 09.04.2021