更新撇号版本 2.67.0 时出现问题
Issue in updating apostrophe version 2.67.0
我正在尝试将撇号版本从 2.62.0
更新为 2.67.0
。
我遇到以下错误:
Promise {
TypeError: Cannot read property 'css' of undefined
at /app/node_modules/apostrophe/lib/modules/apostrophe-assets/index.js:1085:18
进入文件时,我可以看到以下代码发生错误的地方:
return less.render(fs.readFileSync(src, 'utf8'), lessOptions, function(err, css) {
if (err) {
self.apos.utils.error('LESS CSS ERROR:');
self.apos.utils.error(err);
}
css = css.css;
if (self.apos.argv['sync-to-uploadfs']) {
css = self.prefixCssUrlsWith(css, self.apos.attachments.uploadfs.getUrl() + '/assets/' + self.generation);
} else if (self.apos.prefix) {
css = self.prefixCssUrls(css);
}
return callback(err, css);
});
请提出解决方案。
看来您可能没有正确升级撇号。如果您只更新该模块而不更新其依赖项,则会发生这种情况,因为您的 less
模块版本错误。
请输入 npm update
更新您的项目。这不仅应该更新撇号,还应该更新它的依赖项。
如果您仍然遇到问题,请查看您的 package.json
文件并检查您是否设置了自己对 less
模块及其旧版本的依赖项。除非您有与 Apostrophe 无关的特定需求,否则您不应该这样做,让 Apostrophe 加载它自己的依赖项。
我正在尝试将撇号版本从 2.62.0
更新为 2.67.0
。
我遇到以下错误:
Promise { TypeError: Cannot read property 'css' of undefined at /app/node_modules/apostrophe/lib/modules/apostrophe-assets/index.js:1085:18
进入文件时,我可以看到以下代码发生错误的地方:
return less.render(fs.readFileSync(src, 'utf8'), lessOptions, function(err, css) {
if (err) {
self.apos.utils.error('LESS CSS ERROR:');
self.apos.utils.error(err);
}
css = css.css;
if (self.apos.argv['sync-to-uploadfs']) {
css = self.prefixCssUrlsWith(css, self.apos.attachments.uploadfs.getUrl() + '/assets/' + self.generation);
} else if (self.apos.prefix) {
css = self.prefixCssUrls(css);
}
return callback(err, css);
});
请提出解决方案。
看来您可能没有正确升级撇号。如果您只更新该模块而不更新其依赖项,则会发生这种情况,因为您的 less
模块版本错误。
请输入 npm update
更新您的项目。这不仅应该更新撇号,还应该更新它的依赖项。
如果您仍然遇到问题,请查看您的 package.json
文件并检查您是否设置了自己对 less
模块及其旧版本的依赖项。除非您有与 Apostrophe 无关的特定需求,否则您不应该这样做,让 Apostrophe 加载它自己的依赖项。