标签: node-sass

纱线安装导入系统失败;print "%s.%s.%s" % sys.version_info[:3] 语法无效

执行此操作时,yarn install我收到此错误,但其他项目没有问题,也使用 Brew 安装节点。请注意我还应该尝试什么,有什么建议吗?

error */node_modules/node-sass: Command failed.
Exit code: 1
Command: node scripts/build.js
Arguments: 
Directory: */node_modules/node-sass
Output:
Building: /opt/homebrew/Cellar/node@14/14.18.1/bin/node */node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
gyp info it worked if it ends with ok
gyp verb cli [
gyp verb cli   '/opt/homebrew/Cellar/node@14/14.18.1/bin/node',
gyp verb cli   '*/node_modules/node-gyp/bin/node-gyp.js',
gyp verb cli   'rebuild',
gyp verb cli   '--verbose',
gyp verb cli   '--libsass_ext=',
gyp verb cli   '--libsass_cflags=',
gyp verb cli   '--libsass_ldflags=',
gyp verb cli   '--libsass_library='
gyp verb cli ]
gyp info …
Run Code Online (Sandbox Code Playgroud)

node.js reactjs node-sass

33
推荐指数
4
解决办法
5万
查看次数

Node.js:由于node-sass和node-gyp,找不到Python异常

突然在我的一个jenkins环境中构建已经开始失败,而在本地机器上它似乎工作正常,因为我安装了python,

从日志中我能够检测到问题是内部依赖,即来自node-sass v3.8.0的node-gyp v3.5.0,当我通过访问这个关于node- gyp的研究并发现需要安装Python的先决条件时.

所以我的问题是我可以安装什么版本的node-sass来绕过这个或者是否有更好的解决方案,因为我的构建在今天早上运行正常,在同一环境中.

节点v5.10.1

错误日志

gyp verb check python checking for Python executable "python2" in the PATH
gyp verb `which` failed Error: not found: python2
gyp verb `which` failed     at getNotFoundError (C:\Program Files (x86)\Jenkins\jobs\NdbSite-hot-fix-Manual-PreBuild\workspace\src\NdbSite.UI\node_modules\which\which.js:13:12)
gyp verb `which` failed     at F (C:\Program Files (x86)\Jenkins\jobs\NdbSite-hot-fix-Manual-PreBuild\workspace\src\NdbSite.UI\node_modules\which\which.js:68:19)
gyp verb `which` failed     at E (C:\Program Files (x86)\Jenkins\jobs\NdbSite-hot-fix-Manual-PreBuild\workspace\src\NdbSite.UI\node_modules\which\which.js:80:29)
gyp verb `which` failed     at C:\Program Files (x86)\Jenkins\jobs\NdbSite-hot-fix-Manual-PreBuild\workspace\src\NdbSite.UI\node_modules\which\which.js:89:16
gyp verb `which` failed     at C:\Program Files (x86)\Jenkins\jobs\NdbSite-hot-fix-Manual-PreBuild\workspace\src\NdbSite.UI\node_modules\isexe\index.js:44:5
gyp verb `which` failed …
Run Code Online (Sandbox Code Playgroud)

node.js node-gyp node-sass

30
推荐指数
17
解决办法
5万
查看次数

使用Node-sass缩小CSS

我在我的NodeJS项目中使用SCSS并让我的脚本使用以下命令将所有单独的SCSS文件转换为单个CSS文件

node-sass -w public/css/scss/style.scss public/css/style.css
Run Code Online (Sandbox Code Playgroud)

我唯一的问题是我也希望缩小CSS文件.这可能与Node-sass一起使用吗?文档说有一个"紧凑"的选项,但是当我尝试时它似乎不起作用

node-sass -w compact public/css/scss/style.scss public/css/style.css
Run Code Online (Sandbox Code Playgroud)

预先感谢您的任何帮助.

css minify node.js node-sass

29
推荐指数
3
解决办法
2万
查看次数

错误:Node Sass 版本 8.0.0 与 ^4.0.0 不兼容的修复方法是什么?

所以,在用于npm install node-sass我的reactjs项目之前我已经使用过sass。我现在正在做一个新项目,想再次使用 sass。使用相同的语法npm install node-sass来安装它,我继续得到

./src/components/Main.scss (./node_modules/css-loader??ref--6-oneOf-5-1!./node_modules/postcss-loader/src??postcss!./node_modules/react-scripts/node_modules/sass-loader/lib/loader.js??ref--6-oneOf-5-3!./src/components/Main.scss)
Error: Node Sass version 8.0.0 is incompatible with ^4.0.0.
Run Code Online (Sandbox Code Playgroud)

或者

to import sass files, you first need to install node-sass. run `npm install node-sass` or `yarn add node-sass` inside your workspace
...
...

Run Code Online (Sandbox Code Playgroud)

我按照说明使用这些语法从链接npmjs sass-lang安装了 sass

brew install sass/sass/sass
Run Code Online (Sandbox Code Playgroud)
npm install -g sass
Run Code Online (Sandbox Code Playgroud)

但我仍然遇到我之前提到的错误。

我尝试删除节点模块文件夹、package-lock.json 并重新安装节点模块。那仍然没有修复错误。另外,我还关注了其他人如何修复 Node Sass 版本 5.0.0||6.0.0|| 7.0.0 不兼容问题但这并没有解决我的问题。

我现在正在寻求帮助。

node-sass

27
推荐指数
3
解决办法
6万
查看次数

使用NodeJS Express和node-sass获取SASS以自动编译

我正在使用node.js进行开发,而不是编写css而是想编写每次刷新页面时自动编译的SCSS文件.

使用NodeJS,Express和node-sass时,如何让SASS文件自动编译.

sass node.js express node-sass

26
推荐指数
2
解决办法
3万
查看次数

在使用Node进行SASS编译期间注入变量

在我正在使用的应用程序中,我必须在客户端上呈现之前动态编译SASS(缓存系统即将到来,不用担心).目前我正在使用node-sass,一切都很好.

这是我到目前为止所做的工作.为简洁起见,已删除其他项目特定代码:

var sass            = require('node-sass'),
    autoprefixer    = require('autoprefixer-core'),
    vars            = require('postcss-simple-vars'),
    postcss         = require('postcss'),

function compileCSS() {
    var result = sass.renderSync({
            file: 'path/to/style.scss'
        });

    return postcss([autoprefixer]).process(result.css.toString()).css;
}
Run Code Online (Sandbox Code Playgroud)

皱纹是现在我需要从Node传递动态数据并将其编译为普通的SASS变量.最初我尝试使用PostCSS,因为我注意到它可以做变量注入.不幸的是,这不起作用.PostCSS在编译阶段开始,在这一点上惨败.

接下来,我尝试使用下划线模板尝试使用node-sass覆盖' importer():

var result = sass.renderSync({
        file: 'path/to/style.scss',
        importer: function(url, prev, done) {
            var content = fs.readFileSync(partial_path),
                partial = _.template(content.toString());

            return {
                contents: partial({ test: 'test' })
            };
        }
    });
Run Code Online (Sandbox Code Playgroud)

这导致以下错误:

Error: error reading values after :
Run Code Online (Sandbox Code Playgroud)

显然,SASS不喜欢下划线的变量语法.


TL; DR

如何从我的Node应用程序中将动态变量传递给SASS?


附加信息 …

css sass node.js express node-sass

25
推荐指数
2
解决办法
1万
查看次数

node-sass 是对 React 项目的开发依赖还是生产依赖?

在各种 React 文档中,我看到它被添加为 prod 依赖项,但我不明白为什么。它不应该是 devDependy,因为 SASS 只在开发过程中被编译,当推送到 prod 时,你实际上是在推送编译后的 CSS 文件吗?

sass npm reactjs node-sass package.json

25
推荐指数
2
解决办法
8152
查看次数

Vue CLI CSS预处理程序选项:dart-sass VS节点-sass?

当创建与CLI(v3.7.0)的新项目中,有之间进行选择的选项dart-sassnode-sass编译器。

它们之间如何进行比较,以比Vue docs中声明的更具体?

Sass性能技巧

请注意,使用Dart Sass时,由于异步回调的开销,默认情况下,同步编译的速度是异步编译速度的两倍。为了避免这种开销,您可以使用Fiber包从同步代码路径中调用异步导入程序。为此,只需将光纤安装为项目依赖项即可:

npm install -D fibers

还请注意,由于它是本机模块,因此在操作系统和构建环境上可能存在兼容性问题。在这种情况下,请运行npm uninstall -D fibers以解决问题。

? Pick a CSS pre-processor (PostCSS, Autoprefixer and CSS Modules are supported by default): (Use arrow keys)
? Sass/SCSS (with dart-sass)
  Sass/SCSS (with node-sass)
  Less
  Stylus
Run Code Online (Sandbox Code Playgroud)

sass node-sass webpack vue.js vue-cli

25
推荐指数
3
解决办法
9348
查看次数

在我的 angular-cli 项目中从 node-sass 切换到 dart sass

在“npm install”期间,我一直在用 node-sass 做各种愚蠢的事情,包括但不限于:

  • GNU c++ 编译一些东西(可能是它本身)
  • 尝试运行python2.7
  • 尝试运行任何其他版本的 python
  • 尝试连接到github

这在企业环境中造成了问题,我必须在 Jenkins 上编译我的项目,其中 NPM 库必须从企业服务器上的 npm 注册表克隆中提取,并且只有该特定项目的严格必需品在 docker 上可用,因此:

  • 没有github
  • 没有蟒蛇
  • 没有 C++

我决定我已经受够了 node-sass 的恶作剧,所以我尝试了建议的“dart-sass”,因为这个概念似乎是完全兼容角度的,旨在解决 node-sass 的大部分问题: https://sass-lang.com/dart-sass

我尝试删除 node-sass 并将 dart-sass 代替:

npm remove node-sass
npm install dart-sass
ng serve
Run Code Online (Sandbox Code Playgroud)

但这会导致:

Module build failed (from ./node_modules/sass-loader/lib/loader.js):
Error: Cannot find module 'node-sass'
Run Code Online (Sandbox Code Playgroud)

对于项目中的每个组件。

为什么它仍在寻找 node-sass?

这是我的 package.json :

{
  "name": "web.ui",
  "version": "0.0.0",
  "license": "MIT",
  "scripts": {
    "ng": "ng",
    "start": "ng serve --aot=false --proxy-config proxy.json",
    "build": "ng b …
Run Code Online (Sandbox Code Playgroud)

sass dart node-sass angular

24
推荐指数
2
解决办法
2万
查看次数

SassError:找不到要导入的样式表。- 角度升级

最近我将 Angular 应用程序更新到版本 14,升级后,我收到以下错误。错误如下

\n
./src/assets/vendor/default/styles.scss - Error: Module build failed (from ./node_modules/sass-loader/dist/cjs.js):\nSassError: Can't find stylesheet to import.\n  \xe2\x95\xb7\n4 \xe2\x94\x82 @import "~src/vendor/libs/ng2-nouislider/mixins";\n
Run Code Online (Sandbox Code Playgroud)\n

有人可以帮助解决这个问题吗?

\n

提前致谢

\n

sass node-sass angular-upgrade angular

24
推荐指数
3
解决办法
3万
查看次数