''postcss' не распознается как внутренняя или внешняя команда, исполняемая программа или пакетный файл

Несмотря на то, что у меня установлен postcss, я все равно получаю указанную выше ошибку в терминале, когда пытаюсь собрать. Я использую это вместе с tailwindcss, и мой файл postcss.config.js выглядит так:

module.exports = {
    plugins: [
        require('tailwindcss'),
        require('autoprefixer'),
        require('cssnano'),
    ]
}

Я уже обновил все свои пакеты и очистил кеш NPM. Ни с одной из моих других сборок такого не происходит. Может ли быть ошибка в моем файле package.json? Вот часть этого:

"devDependencies": {
    "@wordpress/scripts": "^19.2.2",
    "dir-archiver": "^1.1.1",
    "node-sass": "^7.0.1",
    "postcss-cli": "^9.1.0",
    "rtlcss": "^3.5.0"
  },
  "rtlcssConfig": {
    "options": {
      "autoRename": false,
      "autoRenameStrict": false,
      "blacklist": {},
      "clean": true,
      "greedy": false,
      "processUrls": false,
      "stringMap": []
    },
    "plugins": [],
    "map": false
  },
  "scripts": {
    "build": "postcss css/styles.css -o build/styles.css",
    "watch": "node-sass sass/ -o ./ --source-map true --output-style expanded --indent-type tab --indent-width 1 -w",
    "compile:css": "node-sass sass/ -o ./ && stylelint '*.css' --fix || true && stylelint '*.css' --fix",
    "compile:rtl": "rtlcss style.css style-rtl.css",
    "lint:scss": "wp-scripts lint-style 'sass/**/*.scss'",
    "lint:js": "wp-scripts lint-js 'js/*.js'",
    "bundle": "dir-archiver --src . --dest ../_s.zip --exclude .DS_Store .stylelintrc.json .eslintrc .git .gitattributes .github .gitignore README.md composer.json composer.lock node_modules vendor package-lock.json package.json .travis.yml phpcs.xml.dist sass style.css.map yarn.lock"
  },
  "main": "index.js",
  "dependencies": {
    "autoprefixer": "^10.4.4",
    "gsap": "^3.11.4",
    "npm-check-updates": "^16.6.2",
    "postcss": "^8.4.21",
    "swiper": "^8.4.6",
    "tailwindcss": "^3.2.4"
  }

🤔 А знаете ли вы, что...
Node.js активно развивается и обновляется, чтобы соответствовать современным стандартам и требованиям.


54
1

Ответ:

Решено

npm устанавливает dependencies и devDependencies в node_modules, что очень редко встречается в вашем PATH. Node поставляется с полезной командой npx, которая может сделать это за вас с помощью npx postcss. Скрипты в package.json запускаются с node_modules/.bin в их PATH, поэтому я бы также проверил, что вы используете npm run build, а не только команду postcss. В противном случае просто установите его глобально.