7

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

demo-plugin@0.0.1 build C:\Users\xxxxx\Documents\demo-plugin
npm run clean && tsc


demo-plugin@0.0.1 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! demo-plugin@0.0.1 clean: `rm -rf ./dist`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the demo-plugin@0.0.1 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! demo-plugin@0.0.1 build: `npm run clean && tsc`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the demo-plugin@0.0.1 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.

user158
  • 12,852
  • 7
  • 62
  • 94
P Sinha
  • 123
  • 2
  • 2
  • 8

2 Answers2

10

In Windows you should use

rd /s /q dist

rm is available in Linux and Mac.

Reference:

user158
  • 12,852
  • 7
  • 62
  • 94
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

linxie
  • 1,849
  • 15
  • 20