Gatsby.jsでローカルプラグイン利用時に“Perhaps you need to install its package?”のエラーが発生
created
updated
目次
バージョン
- react 17.0.x
- react-dom 17.0.x
“Perhaps you need to install its package?”のエラーメッセージの内容
ERROR
There was a problem loading plugin "{プラグイン名}". Perhaps you need to install its package?
Use --verbose to see actual error.
Error: unreachable
at resolvePlugin (/home/node/sample_app/node_modules/gatsby/src/bootstrap/load-plugins/load.ts:145:11)
at map (/home/node/sample_app/node_modules/gatsby/src/bootstrap/load-plugins/validate.ts:231:44)
at Array.map (<anonymous>)
at /home/node/sample_app/node_modules/gatsby/src/bootstrap/load-plugins/validate.ts:225:35
at Object.validate (/home/node/sample_app/node_modules/joi/lib/types/any.js:47:28)
at Object.internals.rules (/home/node/sample_app/node_modules/joi/lib/validator.js:394:33)
at Object.exports.validate (/home/node/sample_app/node_modules/joi/lib/validator.js:350:22)
at internals.Base.$_validate (/home/node/sample_app/node_modules/joi/lib/base.js:773:26)
at Object.validate (/home/node/sample_app/node_modules/joi/lib/types/keys.js:108:45)
at Object.exports.validate (/home/node/sample_app/node_modules/joi/lib/validator.js:325:26)
at Object.internals.entry (/home/node/sample_app/node_modules/joi/lib/validator.js:142:28)
at Object.exports.entryAsync (/home/node/sample_app/node_modules/joi/lib/validator.js:58:30)
at internals.Base.validateAsync (/home/node/sample_app/node_modules/joi/lib/base.js:553:26)
at _callee$ (/home/node/sample_app/node_modules/gatsby-plugin-utils/dist/validate.js:40:33)
at tryCatch (/home/node/sample_app/node_modules/regenerator-runtime/runtime.js:45:40)
at Generator.invoke [as _invoke] (/home/node/sample_app/node_modules/regenerator-runtime/runtime.js:274:22)
Initializing gatsby-remark-component
ERROR
There was a problem loading plugin "{プラグイン名}". Perhaps you need to install its package?
Use --verbose to see actual error.
ERROR
unreachable
Error: unreachable
- load.ts:145 resolvePlugin
[app]/[gatsby]/src/bootstrap/load-plugins/load.ts:145:11
- load.ts:252 map
[app]/[gatsby]/src/bootstrap/load-plugins/load.ts:252:20
- Array.map
- load.ts:231 processPlugin
[app]/[gatsby]/src/bootstrap/load-plugins/load.ts:231:35
- load.ts:285 forEach
[app]/[gatsby]/src/bootstrap/load-plugins/load.ts:285:31
- Array.forEach
- load.ts:284 loadPlugins
[app]/[gatsby]/src/bootstrap/load-plugins/load.ts:284:20
- index.ts:118 loadPlugins
[app]/[gatsby]/src/bootstrap/load-plugins/index.ts:118:23
- load-config-and-plugins.ts:97 loadConfigAndPlugins
[app]/[gatsby]/src/bootstrap/load-config-and-plugins.ts:97:28
- initialize.ts:146 initialize
[app]/[gatsby]/src/services/initialize.ts:146:40
“Perhaps you need to install its package?”のエラー対応
package.jsonをローカルファイル参照に編集
// package.json
"dependencies": {
...
"{プラグイン名}": "file:./plugins/{プラグイン名}",
...
}
“npm install”する
npm install
require.resolveを使わないように修正
// gatsby-config.js
{
resolve: "gatsby-plugin-mdx",
options: {
extensions: [`.mdx`],
gatsbyRemarkPlugins: [
{
//resolve: require.resolve('./plugins/{プラグイン名}'),
resolve: '{プラグイン名}',
これでエラーが発生せずに実行することができました。