导入母版时无法在运行时找到模块,但可以从版本

时间:2019-04-06 01:34:29

标签: node.js typescript yarnpkg

当在package.json中列为"samlify": "2.3.6",而不是"samlify": "tngan/samlify#master",时,我有一个节点模块可以正确导入并运行。 yarn会正确更新yarn.lock并使用任何一个源填充node_modules文件夹,但是在编译和运行($(yarn bin)/tsc<package name> serve2.3.6时运行正确而tngan/samlify#master产生这种怪异:

Failed with error { Error: Cannot find module 'samlify'
at Function.Module._resolveFilename (module.js:548:15)
at Function.Module._load (module.js:475:25)
at Module.require (module.js:597:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/PATH/src/controllers/SAMLAPI.ts:10:1)
at Module._compile (module.js:653:30)
at Object.Module._extensions..js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3)
at Module.require (module.js:597:17)
at require (internal/module.js:11:18)
at /PATH/node_modules/ts-express-decorators/src/server/components/ServerLoader.ts:422:44
at Array.map (<anonymous>)
at ServerLoader.scan (/PATH/node_modules/ts-express-decorators/src/server/components/ServerLoader.ts:419:18)
at /PATH/node_modules/ts-express-decorators/src/server/components/ServerLoader.ts:451:18
at Array.forEach (<anonymous>)
at ServerLoader.mount (/PATH/node_modules/ts-express-decorators/src/server/components/ServerLoader.ts:450:32)
at /PATH/node_modules/ts-express-decorators/src/server/components/ServerLoader.ts:502:78
at Array.forEach (<anonymous>)
at bind (/PATH/node_modules/ts-express-decorators/src/server/components/ServerLoader.ts:502:56)
at /PATH/node_modules/ts-express-decorators/src/server/components/ServerLoader.ts:534:21
at Map.forEach (<anonymous>)
at ServerSettingsProvider.forEach (/PATH/node_modules/ts-express-decorators/src/config/class/ServerSettingsProvider.ts:379:25)
at ServerLoader.setSettings (/PATH/node_modules/ts-express-decorators/src/server/components/ServerLoader.ts:530:14)
at new ServerLoader (/PATH/node_modules/ts-express-decorators/src/server/components/ServerLoader.ts:98:18)
at new Server (/PATH/src/server/server.ts:49:5)
at main (/PATH/src/commands/serve.ts:30:9)
at Object.exports.handler (/PATH/src/commands/serve.ts:20:3)
at Object.runCommand (/PATH/node_modules/yargs/lib/command.js:228:22)
at Object.parseArgs [as _parseArgs] (/PATH/node_modules/yargs/yargs.js:1013:30)
at Object.get [as argv] (/PATH/node_modules/yargs/yargs.js:957:21)
at Object.<anonymous> (/PATH/bin/id:10:5)
at Module._compile (module.js:653:30)
at Object.Module._extensions..js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3)
at Function.Module.runMain (module.js:694:10)
at startup (bootstrap_node.js:204:16)
at bootstrap_node.js:625:3 code: 'MODULE_NOT_FOUND' }

第10行当然是import * as samlify from "samlify";

问题是,在samlify文件夹中肯定有一个node_modules软件包。我有什么愚蠢的东西想念吗?

NODE_DEBUG=module一起运行时,会有少量其他相关输出:

MODULE 76563: Module._load REQUEST samlify parent:
/PATH/build/controllers/SAMLAPI.js
MODULE 76563: looking for "samlify" in ["/PATH/build/controllers/node_modules","/PATH/build/node_modules","/PATH/node_modules","/PARENT_PATH/node_modules","/GP_PATH/node_modules","/GGP_PATH/node_modules","/GGGP_PATH/node_modules","/Users/laverya/node_modules","/Users/node_modules","/node_modules","/Users/laverya/.node_modules","/Users/laverya/.node_libraries","/usr/local/Cellar/node@8/8.15.1/lib/node"]
在MacOS 10.14上的

node v8.15.1和yarn 1.15.2,都安装了自制软件。

我已经稍微检查了路径-/PATH将是/Users/laverya/long/path/to/ts/project

0 个答案:

没有答案