【问题标题】:How do I install JSLint on Ubuntu? [closed]如何在 Ubuntu 上安装 JSLint? [关闭]
【发布时间】:2012-02-10 10:37:17
【问题描述】:

如何在 Ubuntu 上安装 JSLint?

我从http://www.javascriptlint.com/download.htm 下载了源代码jsl-0.3.0-src.tar.gz,然后将其解压缩到我桌面上名为jsl-0.3.0 的目录中。然后我把它移到/usr/local/bin,我是have read is my PATH。我还想提一下,我已经安装了Rhino 1.7

当我尝试从终端运行 jsl 时,我收到以下消息:

No command 'jsl' found, did you mean:
 Command 'jls' from package 'sleuthkit' (universe)
 Command 'js' from package 'rhino' (main)
 Command 'sl' from package 'sl' (universe)
 Command 'fsl' from package 'fsl' (multiverse)
jsl: command not found

那么我该如何正确安装 JSLint?

【问题讨论】:

  • 关闭为题外话?真的,还有谁会使用 JSLint?
  • 具有讽刺意味的是,它不在大多数包管理器中,因为“软件应该用于善,而不是恶”。 - 这应该使它不是“开源的”。
  • @NoBugs:你可以使用JSHint
  • 对我来说似乎是程序员主要使用的工具。投票重新开放。

标签: javascript linux vim ubuntu jslint


【解决方案1】:

您说您只是将源代码复制到 /usr/local/bin。你需要编译它。按照 README.html 中的构建说明进行操作

Unix

  • 使用“gmake -f Makefile.ref”进行构建。要编译优化代码,请在 gmake 命令行上传递 BUILD_OPT=1 或在环境或 Makefile.ref 中预设它。注意:不要尝试使用 Makefile 来构建独立的 JavaScript 引擎。此文件仅用于在 Mozilla 浏览器中构建 JS 引擎。
  • 每个构建JS的平台都必须在js/src/config目录下有一个*.mk配置文件。配置文件指定要使用的编译器/链接器,并允许自定义命令行选项。迄今为止,该构建系统已在 Solaris、AIX、HP/UX、OSF、IRIX、x86 Linux 和 Windows NT 上进行了测试。
  • 大多数平台都可以使用供应商编译器或 gcc。 (除了 HP 构建只能使用本机编译器工作。gcc 无法与该平台上的共享库正确链接。如果有人知道解决此问题的方法,请告诉我们。)
  • 如果你定义了 JS_LIVECONNECT,gmake 将在构建 JS 引擎后进入 liveconnect 目录并构建 LiveConnect。
  • 要构建二进制文件(包含头文件、库、二进制文件的压缩文件),请查看 mozilla/config 和 mozilla/nsprpub/config。使用 'gmake -f Makefile.ref nsinstall-target all export ship'

至于你关于差异的问题。它在下载页面上说它是用 JavaScript 本身编写的。

我们都站在巨人的肩膀上。我要特别感谢 Douglas > Crockford 在 JSLint 上的工作。这个 lint 本身是用 JavaScript 编写的,是一个 有趣且相当复杂的脚本。 Crockford 关于良好编码的想法 实践充当了许多这些 lint 规则的跳板。

【讨论】:

  • Ubuntu 没有gmake,所以我使用了make,这是一回事。它以没有任何错误结束,所以我认为它构建得很好,但我仍然无法通过在终端中键入 jsl 命令或运行 rhino(或 js)并键入 jslint 来运行 JSLint。如果我尝试后者,我会得到Error: "jslint" is not defined.
  • 通常,您需要在之后键入make install 将二进制文件和必要的文件复制到您的 bin 目录。输入make 是否会在源目录中生成jsl 二进制文件?
  • 在执行make -f Makefile.ref 之后,创建了一个名为Linux_All_DBG.OBJ 的目录,其中包含一个名为jsl 的文件和另一个名为jsl.o 的文件,其中包括许多其他文件。此外,make installsrcLinux_All_DBG.OBJ 目录中不起作用。我收到错误make: *** No rule to make target install'。停止。`
  • 将目录更改为Linux_All_DBG.OBJ 并输入./jsl,如果这符合您的要求,则将该文件移动到/usr/local/bin
  • 好的,我将jsl 文件移动到/usr/local/bin/,现在当我从系统上的任何位置键入jsl 时,它运行良好。谢谢,但是我应该如何处理Linux_All_DBG.OBJ 目录所在的js-0.3.0 目录?
【解决方案2】:

查看您的“jsl-0.3.0/src/README.html”文件。这说:

1) 你有一个“源包”。您需要“构建”它(使用 C 编译器),然后安装您的构建。

2) 这不仅仅是 JSLint。它是一个完整的 Javascript 引擎。根据自述文件:

这是 JavaScript 参考的 README 文件(JSRef,现在 更好地称为 SpiderMonkey) 实现。它由构建 约定和说明,源代码约定,设计 演练,以及对源文件的简要逐个文件描述。

JSRef 构建一个包含 JavaScript 运行时的库或 DLL (编译器、解释器、反编译器、垃圾收集器、原子管理器、 标准班)。然后它编译一个小的“shell”程序和链接 与库一起制作可以使用的解释器 以交互方式并与测试 .js 文件一起运行脚本。代码没有 依赖于 Mozilla 代码库的其余部分。

3) 这是 Douglas Crockford 的原始 JSLint 页面:

http://www.jslint.com/

4) 下面是一个很好的例子,说明如何在自己的 PC 上本地使用 JSLint:

http://code.google.com/p/js-ria-tools/wiki/JSLint

5) 你说你已经拥有 Rhino - 很好。在 Google 中,您会发现许多指向 www.jslint.com/rhino 的过时链接。原因如下 - 以及当前 Rhino 相关信息的链接:

http://hustoknow.blogspot.com/2011/02/jslint-and-rhino-support.html

'希望有帮助!

【讨论】:

  • 谢谢。我通过make -f Makefile.ref 构建了源代码,据我所知,它没有任何错误,但在JS 解释器中我仍然不能使用jslint(通过jsrhino 调用)。同样运行 jsl 仍然无法从终端运行。有什么想法吗?
【解决方案3】:

Here 是我遵循的让 jslint 在 Ubuntu 10.10/Vim 7.3(和 Mac OS X)上工作的说明。

编辑

所以,我刚刚在给定的链接中发现了一个错误。以下是正确的步骤(假设您已经将存档下载并解压到您的桌面:

$ cd /path/to/jsl-0.3.0/src
$ make -f Makefile.ref
$ cp Linux_All_DBG.OBJ/jsl /usr/local/bin/jsl

此时您可以打开一个新的终端窗口并输入$ jsl 以显示快速帮助或从 Vim 或直接在终端中的文件上调用它。

结束编辑

  • /usr/local/bin 不是您的“PATH”,它只是可以成为您的PATH 环境变量的众多目录之一。 $ echo $PATH 将告诉您这些目录是什么,因此您可以将jsl 可执行文件放在哪里。你也可以把它放在另一个地方,给你的.bashrc添加一个别名。

  • 为什么您希望能够从rhino 运行jslint

【讨论】:

  • 当我执行echo $PATH 时,我看到一个由冒号分隔的路径列表。 /usr/local/bin 也在其中。所以我所做的是在/usr/local/bin/ 中创建一个jsl 目录,然后放入包含jsl 的整个jsl-0.3.0 文件夹。所以到jsl 的整个路径是/usr/local/bin/jsl/jsl-0.3.0/src/Linux_All_DBG.OBJ。当我输入 jsl 时,我会得到与我在帖子中提到的相同的 jsl: command not found 错误。到目前为止,谢谢。
  • 您必须先构建 jsl,然后然后使生成的可执行文件在系统范围内可访问。但是,那里有一个错误。我将编辑我的答案。
【解决方案4】:

如何在 Ubuntu 上安装 JSLint:

  1. 安装nodejs(包括npm,节点包管理器):

    sudo apt-get install nodejs
    
  2. 安装 node-jslint。全局:

    sudo npm install -g jslint
    

    或本地,并将其包含在$PATH

    npm install jslint
    

    并将这一行添加到 your.bashrc(根据需要调整版本号)

    alias jslint='~/.npm/jslint/0.1.8/package/bin/jslint.js'
    

【讨论】:

  • 这是完美的,因为无论如何我目前都在学习节点,但是当我做$ npm install -g jslint 时,我收到了一个错误,我在我的问题中作为更新发布。使用sudo 会解决这个问题吗?
  • 如果您在安装npm 时使用此命令:sudo apt-get install npm。然后你需要使用sudo:sudo npm install -g jslint
  • 看起来像一个简单的解决方案,但是当我运行 npm install 时,它只创建一个 .node_module 文件夹。我仍然无法在 shell 中运行 jslint。我们如何假设有一个可执行文件?
  • @FMaz008 将你的节点/bin 路径添加到 .bashrc 中的 $PATH
  • 您可能希望将别名放在 ~/.bash_aliases 文件中而不是 .bashrc 中。您可能希望别名为 jsl=
猜你喜欢
  • 2014-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-30
相关资源
最近更新 更多