简体   繁体   中英

Cannot find module 'eslint-config-airbnb/base' on BigCommerce 'stencil bundle'

When I run stencil bundle I see the following:

  ➜  cornerstone git:(master) ✗ stencil bundle
  Validating theme...
  Running ESLint...
  /Users/xxx/.nvm/versions/node/v4.4.0/lib/node_modules/@bigcommerce/stencil-cli/node_modules/eslint/lib/config/config-file.js:402
              throw e;
              ^

  Error: Cannot find module 'eslint-config-airbnb/base'
  Referenced from: /Users/xxx/bigcommerce/cornerstone/.eslintrc
      at Object.ModuleResolver.resolve (/Users/xxx/.nvm/versions/node/v4.4.0/lib/node_modules/@bigcommerce/stencil-cli/node_modules/eslint/lib/util/module-resolver.js:75:19)
      at resolve (/Users/xxx/.nvm/versions/node/v4.4.0/lib/node_modules/@bigcommerce/stencil-cli/node_modules/eslint/lib/config/config-file.js:479:33)
      at load (/Users/xxx/.nvm/versions/node/v4.4.0/lib/node_modules/@bigcommerce/stencil-cli/node_modules/eslint/lib/config/config-file.js:496:24)
      at /Users/xxx/.nvm/versions/node/v4.4.0/lib/node_modules/@bigcommerce/stencil-cli/node_modules/eslint/lib/config/config-file.js:392:36
      at Array.reduceRight (native)
      at applyExtends (/Users/xxx/.nvm/versions/node/v4.4.0/lib/node_modules/@bigcommerce/stencil-cli/node_modules/eslint/lib/config/config-file.js:363:28)
      at Object.load (/Users/xxx/.nvm/versions/node/v4.4.0/lib/node_modules/@bigcommerce/stencil-cli/node_modules/eslint/lib/config/config-file.js:530:22)
      at loadConfig (/Users/xxx/.nvm/versions/node/v4.4.0/lib/node_modules/@bigcommerce/stencil-cli/node_modules/eslint/lib/config.js:64:33)
      at getLocalConfig (/Users/xxx/.nvm/versions/node/v4.4.0/lib/node_modules/@bigcommerce/stencil-cli/node_modules/eslint/lib/config.js:126:23)
      at Config.getConfig (/Users/xxx/.nvm/versions/node/v4.4.0/lib/node_modules/@bigcommerce/stencil-cli/node_modules/eslint/lib/config.js:227:22)

When I initially ran npm install I saw this:

  ➜  cornerstone git:(master) npm install
  npm WARN deprecated minimatch@0.3.0: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
  npm WARN peerDependencies The peer dependency phantomjs-prebuilt@>=1.9 included from karma-phantomjs-launcher will no
  npm WARN peerDependencies longer be automatically installed to fulfill the peerDependency
  npm WARN peerDependencies in npm 3+. Your application will need to depend on it explicitly.
  npm WARN peerDependencies The peer dependency eslint@^2.4.0 included from eslint-config-airbnb will no
  npm WARN peerDependencies longer be automatically installed to fulfill the peerDependency
  npm WARN peerDependencies in npm 3+. Your application will need to depend on it explicitly.
  npm WARN peerDependencies The peer dependency eslint-plugin-react@^4.2.3 included from eslint-config-airbnb will no
  npm WARN peerDependencies longer be automatically installed to fulfill the peerDependency
  npm WARN peerDependencies in npm 3+. Your application will need to depend on it explicitly.
  npm WARN deprecated minimatch@0.2.14: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
  npm WARN deprecated graceful-fs@1.2.3: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.

As per documentation for I tried running eslint-config-airbnb and ran this command:

npm install --save-dev eslint-config-airbnb eslint@^3.19.0 eslint-plugin-jsx-a11y@^5.0.1 eslint-plugin-import@^2.2.0 eslint-plugin-react@^7.0.1

Based on this:

  ➜  cornerstone git:(master) ✗ npm info "eslint-config-airbnb@latest" peerDependencies

  { eslint: '^3.19.0',
    'eslint-plugin-jsx-a11y': '^5.0.1',
    'eslint-plugin-import': '^2.2.0',
    'eslint-plugin-react': '^7.0.1' }

It occurs when you use global eslint package and non-global eslint-config-airbnb .

You can solve it by npm install eslint --save-dev && npm uninstall eslint -g

Everyone that has errors like this, just add the folder to your npm i command. It fixed all of my issues. So for example.

you have your project in this folder: c:/user/tim/web/website/

Than you cd into your folder (website). You should be in the folder your packet.json is in. Than you can do npm i /user/tim/web/website/

I'm sure you could also link your paths so that npm also looks at the right (local) location for your packages instead of globally.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM