在没有Python的情况下使用npm安装scss-lint

时间:2016-02-22 08:00:11

标签: npm gulp node-sass scss-lint

我正在尝试让gulp-scss-lint在我的计算机上运行,​​但却遇到了麻烦。

上下文

我觉得特定版本和环境设置可能对我的问题很重要,所以让我列出我的特定上下文:

  • Windows Server 2012 R2标准版
  • NPM 2.14.7
  • 节点4.2.2
  • 已安装Gulp 3.9.0 -g
  • 从Powershell 4.0运行

摄制

这是我的问题的重复:

  1. mkdir gulpscsslintcd gulpscsslint
  2. npm init包含所有默认答案
  3. npm install gulp --save-dev
  4. npm install gulp-scss-lint --save-dev
  5. new-item -itemtype file gulpfile.js并输入:

    var gulp = require('gulp'), lint = require('gulp-scss-lint');
    gulp.task('default', [], function() {
      return gulp.src('*.scss').pipe(lint());
    });
    
  6. new-item -itemtype file styles.scss

  7. gulp
  8. 结果:

     [08:48:50] Using gulpfile ~\experiments\gulpscsslint\gulpfile.js
     [08:48:50] Starting 'default'...
     [08:48:50] 'default' errored after 32 ms
     [08:48:50] Error in plugin 'gulp-scss-lint'
     Message:
         Error code 1
     Error: Command failed: C:\Windows\system32\cmd.exe /s /c "scss-lint 'styles.scss' --format=JSON"
     'scss-lint' is not recognized as an internal or external command,
     operable program or batch file.
    

    预期结果显然是来自短信的实际输出。

    然后我继续说道:

    1. npm install scss-lint --save-dev
    2. 但它与failNoPython失败,输出中的代码片段为

       Can not download file from https://raw.githubusercontent.com/sass/node-sass-binaries/v2.1.1/win32-x64-node-4.2/binding.node
       gyp ERR! configure error
       gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable
      

      问题

      Python 安装此Node包真的是一个很难的要求吗?或者可以以某种方式安装而无需安装Python?

      作为一个脚注,现在我已经完全写了这个问题,我发现可能更像Github问题,但如果是这样的话,我可能需要一些帮助(学习如何)找到(什么包或工具给我带来麻烦(gulp-scss-lintscss-lintnpmnode-sass或其他一些底层包?)。

1 个答案:

答案 0 :(得分:1)

您可以通过直接从github repository克隆或直接下载该软件包并将其放入目标位置来手动安装该软件包。

注意:

  

node-gyp是用Node.js编写的跨平台命令行工具,用于为Node.js编译本机附加模块。 Link

此软件包需要Python才能工作。 Hundreds of packages(包括 npm npminstall )依靠node-gyp进行编译。在Windows上,用户可以安装Windows-build-tools软件包(包括python)来使用node-gyp。