【问题标题】:JShint acts differently on different machines despite same code, versions and config尽管代码、版本和配置相同,JShint 在不同机器上的行为不同
【发布时间】:2016-08-21 12:56:46
【问题描述】:

我的local machine 和我们的jenkins build 机器上有以下JShint 相关模块版本,它在构建UI 之前运行jshint:

npm -v                                // 2.14.7
npm view jshint version               // 2.9.2
npm view grunt version                // 1.0.1
npm view grunt-contrib version        // 0.11.0
npm view grunt-contrib-jshint version // 1.0.0

两台机器使用相同的.jshintrc 配置文件。

当我在本地运行 jshint 时,我得到 no problems
当我在build machine 上运行它时(当然是相同的代码)——我得到了很多错误。

我很确定它的版本相关,因为配置和代码是相同的,但我不知道在哪里找。

谢谢!

【问题讨论】:

  • 仔细检查grunt-contrib-jshint任务配置中的jshinrc选项。
  • 相同的配置(相同的文件)
  • jshintrc 选项,如果设置为 true,则不会向 JSHint 发送任何配置,并且 JSHint 将搜索与被检查的文件相关的 .jshintrc 文件。
  • jshintrc 选项设置为.jshintrc 文件的位置,这在两台机器上都是相同的。我已经确认它使用了正确的配置。

标签: javascript node.js jenkins jshint grunt-contrib-jshint


【解决方案1】:

事实证明,我使用了错误的命令来检查我安装的软件包版本:

npm view <package_name> version; // returns the latest available version of the package.

我需要使用的命令是:

npm list <package_name>; // returns the installed package (and it's dependencies) version

使用正确的命令后,我看到了

本地npm list grunt-contrib-jshint; // 0.11.0 depends on JShint ~2.6.0
jenkinsnpm list grunt-contrib-jshint; // 1.0.0 depends on JShint ~2.9.1

因为JShint ~2.9.1JShint ~2.6.0 严格得多,所以在jenkins machine 上出现错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-08
    • 2020-02-12
    • 1970-01-01
    相关资源
    最近更新 更多