首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用django-pipeline指向停靠的Django项目中的Node?

如何使用django-pipeline指向停靠的Django项目中的Node?
EN

Stack Overflow用户
提问于 2021-01-21 07:56:46
回答 1查看 36关注 0票数 1

我正在尝试将django-pipeline添加到一个停靠的Django3.1项目中。但是,当我运行collectstatic时,我收到以下错误:

代码语言:javascript
复制
pipeline.exceptions.CompressorError: b'/usr/bin/env: \xe2\x80\x98node\xe2\x80\x99:
No such file or directory\n'

我的settings.py文件包括:

代码语言:javascript
复制
PIPELINE = {
    'CSS_COMPRESSOR': 'pipeline.compressors.yuglify.YuglifyCompressor',
    'COMPILERS': ('pipeline.compilers.sass.SASSCompiler',),
    'YUGLIFY_BINARY': str(BASE_DIR.joinpath('node_modules/.bin', 'yuglify')),
    'SASS_BINARY': str(BASE_DIR.joinpath('node_modules/.bin', 'sass')),
    'STYLESHEETS': {
        'twirlmate': {
            'source_filenames': (
              'pages/scss/styles.css',
            ),
            'output_filename': 'css/styles.css',
        },
    },
}

我的package.json包括:

代码语言:javascript
复制
{
  ...,
  "dependencies": {
    "sass": "^1.32.5",
    "yuglify": "^2.0.0"
  }
}

我还有其他使用管道的本地Django项目,但不使用Docker,它们工作得很好,所以我想知道这是否与Node没有安装在容器中有关?如有任何想法或帮助,我们将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2021-01-21 22:20:03

已解决

事实证明,我的Dockerfile中缺少一些安装nodejs的命令:

代码语言:javascript
复制
# Dockerfile

...
RUN curl -sL https://deb.nodesource.com/setup_12.x | bash -
RUN apt-get install -y nodejs build-essential

# Set working directory and install npm dependencies for pipeline
WORKDIR /code
RUN npm -g install sass
RUN npm -g install yuglify

collectstatic现在可以正常工作了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65819370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档