'rm' is not recognized as an internal or external command when trying publish a capacitor plugin
Asked Answered
H

2

8

I am trying to publish a capacitor plugin. According to the error it is not able to recognize rm. I am using Window's Powershell (VC Code) The following error is being generated in the powershell when npm publish in run

PS C:\Users\xxxxx\Documents\demo-plugin> npm run build

[email protected] build C:\Users\xxxxx\Documents\demo-plugin
npm run clean && tsc


[email protected] clean C:\Users\xxxxxx\Documents\demo-plugin
rm -rf ./dist

'rm' is not recognized as an internal or external command,
operable program or batch file.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] clean: `rm -rf ./dist`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] clean script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\xxxxxx\AppData\Roaming\npm-cache\_logs\2019-12-16T10_11_18_987Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] build: `npm run clean && tsc`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\xxxxxx\AppData\Roaming\npm-cache\_logs\2019-12-16T10_11_19_090Z-debug.log

The package.json file:

{
  "name": "demo-plugin",
  "version": "0.0.1",
  "description": "Demo",
  "main": "dist/esm/index.js",
  "types": "dist/esm/index.d.ts",
  "scripts": {
    "build": "npm run clean && tsc",
    "clean": "rm -rf ./dist",
    "watch": "tsc --watch",
    "prepublishOnly": "npm run build"
  },
  "author": "Puru",
  "license": "MIT",
  "dependencies": {
    "@capacitor/core": "latest"
  },
  "devDependencies": {
    "typescript": "^3.2.4",
    "@capacitor/ios": "latest",
    "@capacitor/android": "latest"
  },
  "files": [
    "dist/",
    "ios/",
    "android/",
    "DemoPlugin.podspec"
  ],
  "keywords": [
    "capacitor",
    "plugin",
    "native"
  ],
  "capacitor": {
    "ios": {
      "src": "ios"
    },
    "android": {
      "src": "android"
    }
  },
  "repository": {
    "type": "git",
    "url": "-"
  },
  "bugs": {
    "url": "-/issues"
  }
}

I am trying to publish the default plugin generated by the npm generate command without any changes for testing purposes.

Homoeo answered 16/12, 2019 at 10:33 Comment(0)
E
12

In Windows you should use

rd /s /q dist

rm is available in Linux and Mac.

Reference:

Elea answered 16/12, 2019 at 11:34 Comment(0)
C
1

Option 1:

set shell for npm scripts, check details here: How to set shell for npm run-scripts in Windows

Option 2:

install the rimraf package and update the npm script, replace rm -rf with rimraf

Charmion answered 15/6, 2023 at 8:23 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.