Autoprefixer errors with NPM (✖ Plugin Error: Cann

2019-06-03 08:45发布

问题:

So currently I am having troubles with autoprefixer.

I have downloaded postcss-cli and autoprefixer to --save-dev and -g

When I run a command like this:

postcss ../../../htdocs/css/workflow/homepage-announcements.css -o ../../../htdocs/css/workflow/homepage-announcements.css

works fine with an output of:

✔ Finished ../../../htdocs/css/workflow/homepage-announcements.css (25ms)

Now that I have used --use autoprefixer an error is thrown. Command below.

postcss --use autoprefixer ../../../htdocs/css/workflow/homepage-announcements.css -o ../../../htdocs/css/workflow/homepage-announcements.css

Error message:

✖ Plugin Error: Cannot find module '../../../htdocs/css/workflow/homepage-announcements.css'

I Have tried everything and still have no solution :(

{
    "name": "homepage-announcements",
    "version": "2.0.0",
    "description": "Homepage announcements",
    "main": "js/Default.js",
    "dependencies": {
       "react": "^15.4.2"
     },
    "devDependencies": {
    "autoprefixer": "^6.7.7",
    "ava": "^0.18.2",
    "babel-loader": "^6.4.1",
    "eslint": "^3.19.0",
    "node-sass": "^4.5.2",
    "postcss": "^5.2.16",
    "postcss-cli": "^3.1.1",
    "webpack": "^2.3.3",
    "xo": "^0.18.1"
    },
    "scripts": {

    "build": "webpack -p && npm run sass && npm run css",
    "sass": "node-sass scss/default.scss ../../../htdocs/css/workflow/homepage-announcements.css --output-style compressed && npm run css",
    "css": "postcss --use autoprefixer ../../../htdocs/css/workflow/homepage-announcements.css -o ../../../htdocs/css/workflow/homepage-announcements.css",
    "lint": "xo js/*.js js/**/*.js js/**/**/*.js js/**/**/**/*.js js/**/**/**/**/*.js js/**/**/**/**/**/*.js"
}

回答1:

I had the same issue and it turns out that the input parameters changed position.

I used to do this and it worked:

postcss --replace --use autoprefixer file.css

... But now it thinks that file.css is a plugin because --use takes an array of plugins.

You have to do this instead now:

postcss file.css --replace --use autoprefixer


回答2:

I Figured out the issue and it was due to versioning with "autoprefixer": "^6.7.7".

I locked the version to "autoprefixer": "6.3.7" and all is working.