我在Symfony 4.2项目中工作,并尝试使用Bootstrap主题化(因此我需要编译Sass代码)。我遵循了官方文档中给出的过程,该过程表明要使用webpack-encore。但是在根据文档使用它时出现错误。
这是指示过程的页面: https://symfony.com/doc/current/frontend/encore/simple-example.html
因此,我安装了Encore,然后启动yarn run encore
。这就是终端上的内容:
yarn run v1.16.0
warning package.json: No license field
error Command "encore" not found.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
因此,我访问了错误指示的站点,该站点显示:
如果我在根目录中的package.json中查找,它实际上只会显示:
"devDependencies": {
"bootstrap": "^4.3.1",
"jquery": "^3.4.1",
"node-sass": "^4.12.0",
"popper": "^1.0.1",
"sass-loader": "^7.0.1"
}
}
没有任何Encore命令的脚本:-(
但是其余的看起来不错。这是composer.json的摘录:
...
"require": {
...
"symfony/webpack-encore-bundle": "^1.5",
...
},
...
我有一个webpack.config.js。
我运行了composer require encore
和yarn install
,没有任何错误。
但是在Symfony文档中没有发现关于调整package.json的任何信息。oO如何使它工作? yarn run encore
为什么不起作用?
答案 0 :(得分:0)
我找到了解决方案:我只是忘记使用yarn init
命令初始化yarn。
答案 1 :(得分:0)
我有同样的问题,在带有 webpack-encore 的 symfony 5 项目中。
sh: encore: not found
你必须安装 webpack-encore。
yarn add @symfony/webpack-encore --dev
yarn run encore dev
或使用 npm。
npm install @symfony/webpack-encore --dev
如果 encore 在 webpack.config.js 中找不到目录、文件、包或错误,你会得到。
npm ERR! command sh -c encore dev
例如这个错误。
Running webpack ...
ERROR Failed to compile with 1 errors 4:34:57 PM
This dependency was not found:
* assets/scss/material-kit-react.scss?v=1.4.0 in ./assets/index.jsx
To install it, you can run: npm install --save assets/scss/material-kit-react.scss?v=1.4.0 Entrypoint react [big] = runtime.js vendors~react.js react.js
npm ERR! code 2
npm ERR! path /path/www
npm ERR! command failed
npm ERR! command sh -c encore dev
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2021-01-21T16_34_57_638Z-debug.log
这里Encore在de assets目录下找不到assets/scss/material-kit-react.scss?v=1.4.0