Мы работаем над проектом, в котором мы подключаемся к таким службам, как Google речь и текст, и AWS, все работает великолепно при локальном запуске, но неудачное развертывание на стороне Azure с очень странными ошибками:
Running 'npm install' ...
> grpc@1.19.0 install /home/site/wwwroot/node_modules/grpc
> node-pre-gyp install --fallback-to-build --library=static_library
internal/modules/cjs/loader.js:583
throw err;
^
Error: Cannot find module '../'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15)
at Function.Module._load (internal/modules/cjs/loader.js:507:25)
at Module.require (internal/modules/cjs/loader.js:637:17)
at require (internal/modules/cjs/helpers.js:20:18)
at Object.<anonymous> (/home/site/wwwroot/node_modules/grpc/node_modules/node-pre-gyp/bin/node-pre-gyp:15:20)
at Module._compile (internal/modules/cjs/loader.js:689:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
npm WARN rollback Rolling back fs-minipass@1.2.5 failed (this is probably harmless): ENOTEMPTY: directory not empty, rmdir '/home/site/wwwroot/node_modules/grpc/node_modules/fs-minipass'
npm WARN rollback Rolling back wide-align@1.1.3 failed (this is probably harmless): ENOTEMPTY: directory not empty, rmdir '/home/site/wwwroot/node_modules/grpc/node_modules/wide-align'
то, что следует, много ENOTEMPTY: каталог не пустые ошибки. Эти ошибки не возникают при локальном запуске.
Что касается «директории не пустой», мы прочитали несколько постов, в которых говорится об отключении антивирусного программного обеспечения и закрытии некоторых запущенных приложений, но безрезультатно. Мы не понимаем, почему Azure или npm предполагают, что "../" также является модулем.
Проблемы начались, когда мы развернули вещи, связанные с Google, до этого момента все работало:
class Google {
async getTextFromAudio(audioFile) {
const client = new speech.SpeechClient();
const audio = {
content: audioFile
};
const config = {
encoding: 'FLAC',
languageCode: 'is-IS'
};
const request = {
audio: audio,
config: config
}
const [response] = await client.recognize(request);
const transcription = response.results
.map(result => result.alternatives[0].transcript)
.join('\n');
return transcription;
}
}
module.exports = Google;
Мы не настроили учетные данные Google для Azure, поэтому мы ожидали получить сообщение об ошибке, связанное с тем, что оно не достигает этой точки и, похоже, получит ошибки до достижения этой точки. Мы даже попытались удалить код, который запустил эти ошибки и развернуть снова, но это не исправляет ошибку. Кто-нибудь еще получил подобные ошибки?