我正在尝试将django-pipeline添加到一个停靠的Django3.1项目中。但是,当我运行collectstatic时,我收到以下错误:
pipeline.exceptions.CompressorError: b'/usr/bin/env: \xe2\x80\x98node\xe2\x80\x99:
No such file or directory\n'我的settings.py文件包括:
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包括:
{
...,
"dependencies": {
"sass": "^1.32.5",
"yuglify": "^2.0.0"
}
}我还有其他使用管道的本地Django项目,但不使用Docker,它们工作得很好,所以我想知道这是否与Node没有安装在容器中有关?如有任何想法或帮助,我们将不胜感激。
发布于 2021-01-21 22:20:03
已解决
事实证明,我的Dockerfile中缺少一些安装nodejs的命令:
# 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 yuglifycollectstatic现在可以正常工作了。
https://stackoverflow.com/questions/65819370
复制相似问题