Npm 如何在全球范围内安装ESlint?

Npm 如何在全球范围内安装ESlint?,npm,sublimetext,eslint,Npm,Sublimetext,Eslint,我正在尝试安装ESlint,以便将它与Sublime Text 2一起用于我所有的本地项目。不清楚全球安装: 注意:eslint--init用于在每个项目的基础上设置和配置eslint,并将在运行eslint的目录中执行eslint及其插件的本地安装。如果您喜欢使用ESLint的全局安装,那么配置中使用的任何插件也必须全局安装 我不明白他们的意思。我使用了eslint--init,它在node_模块中本地安装了eslint以及所有插件。关于在全球范围内安装插件,没有任何解释。我该怎么做?另外,如

我正在尝试安装ESlint,以便将它与Sublime Text 2一起用于我所有的本地项目。不清楚全球安装:

注意:
eslint--init
用于在每个项目的基础上设置和配置eslint,并将在运行eslint的目录中执行eslint及其插件的本地安装。如果您喜欢使用ESLint的全局安装,那么配置中使用的任何插件也必须全局安装


我不明白他们的意思。我使用了
eslint--init
,它在
node_模块
中本地安装了eslint以及所有插件。关于在全球范围内安装插件,没有任何解释。我该怎么做?另外,如果
ESlint--init
安装了本地安装,那么如何使用全局ESlint安装?这太令人困惑了。

您可以在项目中(本地)或全局安装节点模块。要切换到全局,您可以使用,如下所示:

npm install -g eslint
然后查看它是否在没有升华文本的情况下工作(
-v
标志以查看eslint的版本):

要查看安装位置(假设为MacOS/Linux),请执行以下操作:

然后查看它是否在升华文本中工作(您可能需要先重新启动升华)。如果它不工作,请确保在eslint包设置中路径正确

  • 要全局安装eslint:
    npm安装-g eslint

    要在项目文件夹中安装eslint,请执行以下操作:
    npm install eslint--save dev

  • 添加
    package.json
    此脚本:
    “eslint”:“eslint--ignore path.gitignore.”

  • 创建名为
    .eslintrc
    的文件并插入:

    {
      "env": {
        "browser": true,
        "node": true
      },
      "globals": {
        "chrome": true
      },
      "rules": {
        "no-console": 0,
        "no-empty": [1, { "allowEmptyCatch": true }]
      },
      "extends": "eslint:recommended"
    }
    
    就我个人而言,我把这个文件保存在我的js文件夹中

  • 转到
    node\u modules/.bin

  • 运行:
    eslint--init
    npm运行文件的eslint name

  • 假设您已经为编辑器安装了一个eslint插件,如果您已经安装了
    npm install-g eslint
    ,那么您可以为特定环境安装附加组件,比如
    npm install eslint config airbnb eslint plugin react eslint-plugin-jsx-a11y eslint plugin import-g
    (这是对纯JS和react的支持),您也可以通过这种方式在工作文件夹make.eslintrc文件中添加对nodejs的支持,如下所示

    {
        "extends":  ["airbnb" , "eslint:recommended"],
        "env": {
        "node": false,
        "es6": true,
        "browser": true
        },
        "rules": {
            "semi":"error",
            "no-unused-vars": "off",
            "func-names":"off",
            "indent":"off",
            "no-else-return":"off",
            "prefer-arrow-callback":"off",
            "no-undef":"off",
            "no-use-before-define":"off",
            "comma-dangle":"off",
            "eol-last":"off",
            "no-trailing-spaces":"off",
            "linebreak-style":"off",
            "no-console":"off",
            "no-restricted-globals":"off",
            "object-shorthand":"off",
            "no-shadow":"off",
            "no-debugger":"off",
            "prefer-const":"off",
            "no-multiple-empty-lines":"off"
        }
    }
    
    如果您需要节点支持,请在.eslintrc的env部分将节点设置为“true”,并使用next全局安装eslint节点插件
    npm i eslint插件节点-g
    。 然后在.eslintrc的扩展部分添加
    “plugin:node/recommended”
    。 通过这种方式,您将在计算机上的每个项目中获得eslint支持,这些项目具有.eslintrc文件.Set规则,您需要在.eslintrc规则部分中使用这些规则。
    就是这样。

    我做到了,但是
    eslint--init
    需要一些额外的插件,例如,如果我打算使用React,就需要React插件。如何使
    eslint--init
    全局安装所有插件?@RoboRobok
    eslint--init
    只在项目的
    package.json
    文件中安装软件包。像React这样的软件包是您项目的一部分,而不是您可以在计算机上全局安装的“应用程序”。但是,您可以通过在
    依赖项
    devdependency
    对象中列出它们来区分
    package.json
    项目中它是什么类型的包。我更希望将它们放在全局范围内进行筛选。根据,
    eslint--init
    仅在本地安装它们。遗憾的是,您需要自己在全球范围内安装它们。使
    eslint--init
    安装全局软件包的功能似乎在中打开。您能解释一下为什么需要步骤2吗?我假设它忽略了。gitignore这就是他们的文档要求做的:问题是如何在全球范围内安装eslint“插件”
    {
      "env": {
        "browser": true,
        "node": true
      },
      "globals": {
        "chrome": true
      },
      "rules": {
        "no-console": 0,
        "no-empty": [1, { "allowEmptyCatch": true }]
      },
      "extends": "eslint:recommended"
    }
    
    {
        "extends":  ["airbnb" , "eslint:recommended"],
        "env": {
        "node": false,
        "es6": true,
        "browser": true
        },
        "rules": {
            "semi":"error",
            "no-unused-vars": "off",
            "func-names":"off",
            "indent":"off",
            "no-else-return":"off",
            "prefer-arrow-callback":"off",
            "no-undef":"off",
            "no-use-before-define":"off",
            "comma-dangle":"off",
            "eol-last":"off",
            "no-trailing-spaces":"off",
            "linebreak-style":"off",
            "no-console":"off",
            "no-restricted-globals":"off",
            "object-shorthand":"off",
            "no-shadow":"off",
            "no-debugger":"off",
            "prefer-const":"off",
            "no-multiple-empty-lines":"off"
        }
    }