У меня есть проект, в котором я построил несколько модулей.Обнаружив, что nestjs имеет команду lib cli, я перенес все из них, чтобы использовать этот стиль.Теперь мое приложение не может найти эти модули при использовании npm run start:prod
.
Error: Cannot find module '@app/foo'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:582:15)
at Function.Module._load (internal/modules/cjs/loader.js:508:25)
at Module.require (internal/modules/cjs/loader.js:637:17)
at require (internal/modules/cjs/helpers.js:22:18)
at Object.<anonymous> (/Users/xxx/Development/nest-test/dist/src/app.service.js:13:15)
at Module._compile (internal/modules/cjs/loader.js:701:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
at Module.load (internal/modules/cjs/loader.js:600:32)
at tryModuleLoad (internal/modules/cjs/loader.js:539:12)
at Function.Module._load (internal/modules/cjs/loader.js:531:3)
. Я создал проект с базовым кодом и одной библиотекой для воспроизведения проблемы: https://github.com/hkeio/nestjs-test
Evenкогда я связываю пакет, узел не может найти модуль.
cd libs/foo
npm link
cd ../..
npm link @app/foo
При запуске NODE_DEBUG=* npm run start:prod
я вижу, что он смотрит в нужное место, но не находит модуль:
MODULE 12494: looking for "@app/foo" in [
"/Users/xxx/Development/nest-test/dist/src/node_modules",
"/Users/xxx/Development/nest-test/dist/node_modules",
"/Users/xxx/Development/nest-test/node_modules",
"/Users/xxx/Development/node_modules",
"/Users/xxx/node_modules",
"/Users/node_modules",
"/node_modules",
"/Users/xxx/.node_modules",
"/Users/xxx/.node_libraries",
"/Users/xxx/.nvm/versions/node/v10.15.3/lib/node"
]
...
$ pwd
/Users/xxx/Development/nest-test/node_modules
$ ll @app
total 0
drwxr-xr-x 3 xxx staff 96 May 30 09:04 .
drwxr-xr-x 608 xxx staff 19456 May 30 09:04 ..
lrwxr-xr-x 1 xxx staff 65 May 30 09:04 foo -> ../../../../.nvm/versions/node/v10.15.3/lib/node_modules/@app/foo```