Как исправить «не удается найти модуль ../» в Azure после развертывания - PullRequest
0 голосов
/ 16 апреля 2019

Мы работаем над проектом, в котором мы подключаемся к таким службам, как 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, поэтому мы ожидали получить сообщение об ошибке, связанное с тем, что оно не достигает этой точки и, похоже, получит ошибки до достижения этой точки. Мы даже попытались удалить код, который запустил эти ошибки и развернуть снова, но это не исправляет ошибку. Кто-нибудь еще получил подобные ошибки?

1 Ответ

0 голосов
/ 09 мая 2019

Это связано с версией узла, если вы используете версию 9. ** или выше.Пожалуйста, уменьшите его до более низкой версии, чтобы он работал.

Существует похожая тема для выпуска опубликовано .

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...