未安装的对等依赖项安装Eslint和插件

时间:2016-10-07 07:11:36

标签: node.js eslint

EDIT2:现在可以了。不得不删除所有本地的eslint包。一切都很好!

编辑:好的,在安装特定版本之后,它抱怨(^ 1.16.0)它现在再次在命令行中运行。但在Sublime中,这确实没有帮助。这里有什么设置可能有问题吗?

之前我有这个工作但是在错误地再次安装相同的包之后,它破了。最终我试图让ESLINT与Sublime合作。我认为Sublime中的所有内容都是正确的,因为我没有改变任何东西。这只是Eslint不再适用的'eslint app.jsx'等显示的内容(见下文)。

我在eslint-plugin-import上得到了未满足的对等依赖项的错误。

aa:myResolutions Andreas$ sudo npm install -g eslint eslint-plugin-import

Password:

/usr/local/bin/eslint -> /usr/local/lib/node_modules/eslint/bin/eslint.js

/usr/local/lib

├── eslint@3.7.1 

└── eslint-plugin-import@2.0.0 


aa:myResolutions Andreas$ sudo npm install -g eslint eslint-plugin-import 
eslint-config-airbnb eslint-plugin-react eslint-plugin-jsx-a11y

/usr/local/bin/eslint -> /usr/local/lib/node_modules/eslint/bin/eslint.js

/usr/local/lib

├── eslint@3.7.1 

├─┬ eslint-config-airbnb@12.0.0 

│ └── UNMET PEER DEPENDENCY eslint-plugin-import@^1.16.0

├── UNMET PEER DEPENDENCY eslint-plugin-import@2.0.0

├── eslint-plugin-jsx-a11y@2.2.2 

└── eslint-plugin-react@6.3.0 


npm WARN eslint-config-airbnb@12.0.0 requires a peer of eslint-plugin-
import@^1.16.0 but none was installed.

npm WARN eslint-config-airbnb-base@8.0.0 requires a peer of eslint-plugin-
import@^1.16.0 but none was installed.

aa:myResolutions Andreas$ eslint App.jsx 


Oops! Something went wrong! :(


ESLint couldn't find the plugin "eslint-plugin-import". This can happen for a 
couple different reasons:


1. If ESLint is installed globally, then make sure eslint-plugin-import is 
also installed globally. A globally-installed ESLint cannot find a locally-
installed plugin.


2. If ESLint is installed locally, then it's likely that the plugin isn't 
installed correctly. Try reinstalling by running the following:

npm i eslint-plugin-import@latest --save-dev

我不明白。我第一次安装它。但那时它还没有安装?或者至少它是其他一些包裹找不到的?

现在已经抓了一天了。所有插件都是全局安装的,因此不应该是问题,而且在它崩溃之前也就是这样。而且我已经完全重新安装了node / npm,但似乎没有任何帮助。

任何人都有任何想法如何解决这个问题?

3 个答案:

答案 0 :(得分:4)

请注意,在AirBnB config package上,他们会在安装之前说明一些其他信息。

首先删除已安装的所有软件包,其中应包含以下内容:

npm uninstall eslint-plugin-react eslint-plugin-jsx-a11y eslint-plugin-import

接下来,终端运行:

export PKG=eslint-config-airbnb;
npm info "$PKG" peerDependencies --json | command sed 's/[\{\},]//g ; s/: /@/g' | xargs npm install --save-dev "$PKG"

这将产生正确的依赖关系,例如:

npm install --save-dev eslint-config-airbnb eslint@^#.#.# eslint-plugin-jsx-a11y@^#.#.# eslint-plugin-import@^#.#.# eslint-plugin-react@^#.#.#

答案 1 :(得分:0)

检查此答案here

npm i -g eslint-config-airbnb-standard
eslint -v

答案 2 :(得分:0)

卸载eslint-plugin-importeslint-plugin-jsx-a11yeslint-plugin-jsx-a11yeslint-plugin-react后,您可以安装eslint-config-airbnb及其对等依赖项:

对于npm 5 +:

npx install-peerdeps --dev eslint-config-airbnb

对于npm< 5:

(
  export PKG=eslint-config-airbnb;
  npm info "$PKG@latest" peerDependencies --json | command sed 's/[\{\},]//g ; s/: /@/g' | xargs npm install --save-dev "$PKG@latest"
)