【问题标题】:How to install ESlint with no npm?如何在没有 npm 的情况下安装 ESlint?
【发布时间】:2019-07-17 12:05:54
【问题描述】:

我正在使用既没有 Internet 访问权限也没有节点 (npm) 的企业计算机。 我已经手动下载了 ESlint 并将其安装到 VS Code 中。现在它说我需要使用 npm 命令才能工作,我的问题是如何在没有 npm 命令/节点的情况下全局运行 ESlint?有可能吗?

这是我得到的:

要使用 ESLint,请在工作区文件夹 Supreme 中运行 npm install eslint 来安装 eslint

或全局使用“npm install -g eslint”。安装 eslint 后需要重新打开工作区。

在尝试正确设置后,我得到:

PS C:\inetpub\wwwroot\Supreme> eslint --init

eslint :术语“eslint”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确并尝试

【问题讨论】:

  • 您从哪个链接下载了ESLint并手动将其安装到VSCode
  • vs 代码市场
  • @yaniz 你的意思是this 分机号?
  • @DavidR 是的,但我从 [link]marketplace.visualstudio.com/… 下载了 vsix

标签: node.js npm visual-studio-code eslint


【解决方案1】:

我在这里创建了一个 Github 存储库,用于创建定制的 Eslint 独立二进制文件: Eslint-Standalone

这使用 node、npm 和 pkg 将 eslint 工具构建成二进制文件,例如 win 平台的 exe。然后,您可以使用该 exe 并将其复制到您的网络中,但在涉及 npm 时会受到限制。

【讨论】:

    【解决方案2】:

    npm 主要是为您移动文件 - 如果您想在没有 npm 的情况下安装它,只需移动自己的文件。

    例如去获取latest release of eslint from github,将其复制到您的企业计算机(网络/闪存驱动器?)并解压。然后直接使用node path/to/bin/eslint.js调用它。

    如果您安装了 node.js,它应该可以工作 - 如果没有,您需要使用类似的方法来安装它。

    执行它而不在命令前加上node,例如只是eslint,你需要在它旁边安装一个.cmd 包装器。 npm 使用 cmd-shim 执行此操作

    如果您想在不安装 node.js 的情况下运行它,那么您需要将 node.js 运行时和 eslint 打包在一起 - 选项包括 pkgnexe

    要让 VSCode 运行 eslint,您需要通过在项目中添加 tasks.js 文件来设置自定义任务运行器 - 例如:

    {
      // See https://go.microsoft.com/fwlink/?LinkId=733558
      // for the documentation about the tasks.json format
      "version": "2.0.0",
      "tasks": [
        {
          "label": "eslint-fix",
          "type": "shell",
          "command": "path/to/your/packaged/eslint --fix"
        }
      ]
    }
    

    然后您可以使用Tasks: Run Task 命令查找并执行它 - 或设置快捷方式 - 更多详细信息请参阅文档https://code.visualstudio.com/docs/editor/tasks#_custom-tasks

    【讨论】:

    • 我有点迷失在你的回答中,我没有安装 nodejs 也没有互联网访问权限,我可以(并且已经)从远程计算机从 GitHub 下载最新版本的 eslint 并发送它通过电子邮件发送到工作 PC。现在我在哪里解压这个 zip,我应该从 vs 代码运行什么命令?
    • 如果您没有安装 node.js,并且无法通过将其复制到机器来安装它 - 那么您必须使用 pkg 或 nexe 将 eslint 打包成可执行文件(链接在我的回答) - 然后将该可执行文件复制到机器并设置一个为您运行它的 VSCode 任务(vscode.rocks/tasks
    • 如何使用 pkg 为目标平台和给定节点主要版本实现独立二进制文件的指南可在此处获得:dev.to/jochemstoel/… 我设法创建了一个 Windows 可执行捆绑节点 10,请注意示例在 main.js 中说 require('.') - 我必须将其更改为相对路径,例如 require('./main.js') pkg 还支持 Mac 和 Linux OS 的可执行文件,并且默认构建所有三个。跨度>
    【解决方案3】:

    我发现我的发行版 Ubuntu 20.04 通过 apt 提供了eslint(虽然已经过时,因为只支持到 ES2018),所以我不需要通过 npm 安装它。创建.eslintrc.json 需要我有一个package.json,但是一旦我创建了.eslintrc.* 文件,我就可以摆脱package.json

    然后,只要存在 eslintrc 文件,我就可以在任何地方运行 eslint ~/some_code.js。您可以使用 -c 指定要使用的任何 eslintrc 文件,例如。 eslint -c ~/.eslintrc.json some_code.js.

    示例.eslintrc.json 用于在浏览器中运行代码,使用空格、unix 换行符、字符串双引号以及始终使用分号:

    {
        "env": {
            "browser": true,
            "es6": true
        },
        "extends": "eslint:recommended",
        "parserOptions": {
            "ecmaVersion": 2018
        },
        "rules": {
            "indent": [
                "error",
                4
            ],
            "linebreak-style": [
                "error",
                "unix"
            ],
            "quotes": [
                "error",
                "double"
            ],
            "semi": [
                "error",
                "always"
            ]
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-30
      • 1970-01-01
      • 2013-08-15
      • 2015-11-03
      • 2020-01-04
      • 1970-01-01
      • 2016-05-21
      • 1970-01-01
      相关资源
      最近更新 更多