新規投稿
フォローする

create-kintone-plugin 重複モジュールをインストールしない方法

開発初心者です。

create-kintone-pluginを使ってプラグインを作成する際、同じモジュールは重複でインストールされています。

共有のモジュールを重複インストールしない方法を誰か教えていただけないでしょうか

0

13件のコメント

Avatar
村濱一樹

開発中のプラグインを別のプラグインとしてインストールしたい、という意図でしょうか?
であればプラグインビルド時に別のppkファイルを利用すれば別のプラグインとしてkintoneは認識します
(create-kintone-pluginの挙動はわかりませんが、private.ppkを移動させれば再生成してくれるかも?)
ちなみに一度ppkファイルを紛失してしまうと上書きはできなくなってしまうのでそれはご注意ください。

的外れだったらすいません。

0
Avatar
SAI

村濱様
返事ありがとうございました。
説明不足てすいませんでした。
図のように、プラグインを生成する度に、node_modules(400MB)重複で生成されています。
node_modulesを都度生成しない方法ありますか

0
Avatar
rex0220
1
Avatar
SAI

rex0220様
返事ありがとうございました。
この記事以前にも拝読させていただきました。
手順通りやってみましたが、生成も確かに削減されましたが、runを実行時エラーがでました。
恐らくpathの指定は正しくではなかったと思います。初心者ですので、直しかたは分かりませんでした。
今でもこのやり方は変わらないであれば、またやってみます。
PS:

記事にでたgenerator.js
// deps_1.installDependencies(outputDirectory, lang);
今のバージョンならこの行を注釈すればいいでしょうか
//(0, deps_1.installDependencies)(outputDirectory, lang);

 

0
Avatar
rex0220

>今のバージョンならこの行を注釈すればいいでしょうか
//(0, deps_1.installDependencies)(outputDirectory, lang);

現在のバージョンは、この行になっていますね。

1
Avatar
rex0220

npm-start.js は、「runAll(["develop", "upload"], 」と「package.json」の scripts の定義を実行します。

npm start のログをみても何のエラーかわからないと思います。

どこでエラーになっているか、「npm run develop」と「npm run upload」を別々に実行してみてください。

"scripts": {
    "start": "node scripts/npm-start.js",
    "develop": "npm run build -- --watch",
    "build": "kintone-plugin-packer --ppk private.ppk --out dist/plugin.zip src",
    "lint": "eslint src",
    "upload": "kintone-plugin-uploader dist/plugin.zip --watch --waiting-dialog-ms 3000"
  },
1
Avatar
SAI

「npm run develop」と「npm run upload」両方それぞれ正常に実行できました!ありがとうございました。

最後に両方を同時に実行するにどうすればいいでしょうか?

0
Avatar
rex0220

単純に 「npm install -g npm-run-all」していないとか?

「npm ls -g」でインストールしているか確認してみてください。

0
Avatar
SAI

rex0220様
迅速な対応ありがとうございました。
先ほど16:53投稿した写真にもあるようにnpm-run-allはインストールしています。
実行のコマンドは何でしょうか

npm run npm-run-all ?

0
Avatar
rex0220

npm start とは、npm run start と同じです。

"start": "node scripts/npm-start.js", と定義されているので、コマンド は、node scripts/npm-start.js

npm-start.js のコードで、「runAll(["develop", "upload"], 」と順番に実行するのが npm-run-all  です。

「npm run develop」と「npm run upload」が実行できれば、「runAll(["develop", "upload"], 」も実行できるはずですが?

 

0
Avatar
rex0220

可能性として node のバージョンが古いとか?現在のcreate-pluginでは、v14以降が必要なようです。

https://developer.cybozu.io/hc/ja/articles/360000877946#step2
※ こちらのツールの利用に必要な Node.js のバージョンは、リポジトリの package.json にある enginesプロパティをご参照ください。

0
Avatar
SAI

最後の一歩でなかなかうまく行けなかった。

コマンドを  npm-run-all -p develop upload  にして何とかできました。

rex0220様、本当にありがとうございました。

1
Avatar
SAI

nodeのバージョンは14.16.0

  "scripts": {
    "start": "node scripts/npm-start.js",
    "develop": "npm run build -- --watch",
    "build": "kintone-plugin-packer --ppk private.ppk --out dist/plugin.zip src",
    "lint": "eslint src",
    "upload": "kintone-plugin-uploader dist/plugin.zip --watch --waiting-dialog-ms 3000",
    "all":"npm-run-all -p develop upload"
  },
  "devDependencies": {
    "@cybozu/eslint-config": "^17.0.3",
    "@kintone/plugin-packer": "^6.0.11",
    "@kintone/plugin-uploader": "^7.1.2",
    "eslint": "^8.22.0",
    "npm-run-all": "^4.1.5"

[npm-run-all -p develop upload]こっちらのコマンドで実行できました。^^

0
サインインしてコメントを残してください。