我目前正在将移动应用程序项目从nativescript 5.2.1更新到版本6。但是尝试运行它总是会触发此问题,而且我不确定如何处理
当我检查代码时,似乎它试图在vendor.js或pbkdf2 / lib / default-encoding.js中拆分global.process.version或process.version
An uncaught Exception occurred on "main" thread.
Unable to create application com.tns.NativeScriptApplication: com.tns.NativeScriptException: Error calling module function
TypeError: Cannot read property 'split' of undefined
File: (file:///data/data/com.ikredo.ikredolenderapp/files/app/vendor.js:142790:54)
StackTrace:
../node_modules/pbkdf2/lib/default-encoding.js(file:///data/data/com.ikredo.ikredolenderapp/files/app/vendor.js:142790:55)
at __webpack_require__(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:751:30)
at fn(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:121:20)
at ../node_modules/pbkdf2/lib/sync.js(file:///data/data/com.ikredo.ikredolenderapp/files/app/vendor.js:142852:23)
at __webpack_require__(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:751:30)
at fn(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:121:20)
at ../node_modules/pbkdf2/index.js(file:///data/data/com.ikredo.ikredolenderapp/files/app/vendor.js:142658:24)
at __webpack_require__(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:751:30)
at fn(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:121:20)
at ../node_modules/crypto-browserify/index.js(file:///data/data/com.ikredo.ikredolenderapp/files/app/vendor.js:58549:9)
at __webpack_require__(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:751:30)
at fn(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:121:20)
at ./global/functions.js(file:///data/data/com.ikredo.ikredolenderapp/files/app/bundle.js:22025:64)
at __webpack_require__(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:751:30)
at fn(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:121:20)
at ./global/init.js(file:///data/data/com.ikredo.ikredolenderapp/files/app/bundle.js:22311:68)
at __webpack_require__(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:751:30)
at fn(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:121:20)
at (file:///data/data/com.ikredo.ikredolenderapp/files/app/bundle.js:20643:70)
at ./app.js(file:///data/data/com.ikredo.ikredolenderapp/files/app/bundle.js:20701:30)
at __webpack_require__(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:751:30)
at checkDeferredModules(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:44:23)
at webpackJsonpCallback(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:31:19)
at (file:///data/data/com.ikredo.ikredolenderapp/files/app/bundle.js:2:57)
at require(:1:266)
TypeError: Cannot read property 'split' of undefined
StackTrace:
java.lang.RuntimeException: Unable to create application com.tns.NativeScriptApplication: com.tns.NativeScriptException: Error calling module function
TypeError: Cannot read property 'split' of undefined
File: (file:///data/data/com.ikredo.ikredolenderapp/files/app/vendor.js:142790:54)
StackTrace:
../node_modules/pbkdf2/lib/default-encoding.js(file:///data/data/com.ikredo.ikredolenderapp/files/app/vendor.js:142790:55)
at __webpack_require__(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:751:30)
at fn(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:121:20)
at ../node_modules/pbkdf2/lib/sync.js(file:///data/data/com.ikredo.ikredolenderapp/files/app/vendor.js:142852:23)
at __webpack_require__(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:751:30)
at fn(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:121:20)
at ../node_modules/pbkdf2/index.js(file:///data/data/com.ikredo.ikredolenderapp/files/app/vendor.js:142658:24)
at __webpack_require__(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:751:30)
at fn(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:121:20)
at ../node_modules/crypto-browserify/index.js(file:///data/data/com.ikredo.ikredolenderapp/files/app/vendor.js:58549:9)
at __webpack_require__(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:751:30)
at fn(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:121:20)
at ./global/functions.js(file:///data/data/com.ikredo.ikredolenderapp/files/app/bundle.js:22025:64)
at __webpack_require__(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:751:30)
at fn(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:121:20)
at ./global/init.js(file:///data/data/com.ikredo.ikredolenderapp/files/app/bundle.js:22311:68)
at __webpack_require__(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:751:30)
at fn(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:121:20)
at (file:///data/data/com.ikredo.ikredolenderapp/files/app/bundle.js:20643:70)
at ./app.js(file:///data/data/com.ikredo.ikredolenderapp/files/app/bundle.js:20701:30)
at __webpack_require__(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:751:30)
at checkDeferredModules(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:44:23)
at webpackJsonpCallback(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:31:19)
at (file:///data/data/com.ikredo.ikredolenderapp/files/app/bundle.js:2:57)
at require(:1:266)
TypeError: Cannot read property 'split' of undefined
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6318)
at android.app.ActivityThread.access$1300(ActivityThread.java:229)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1867)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:226)
at android.app.ActivityThread.main(ActivityThread.java:7212)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:576)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:956)
Caused by: com.tns.NativeScriptException: Error calling module function
TypeError: Cannot read property 'split' of undefined
File: (file:///data/data/com.ikredo.ikredolenderapp/files/app/vendor.js:142790:54)
StackTrace:
../node_modules/pbkdf2/lib/default-encoding.js(file:///data/data/com.ikredo.ikredolenderapp/files/app/vendor.js:142790:55)
at __webpack_require__(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:751:30)
at fn(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:121:20)
at ../node_modules/pbkdf2/lib/sync.js(file:///data/data/com.ikredo.ikredolenderapp/files/app/vendor.js:142852:23)
at __webpack_require__(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:751:30)
at fn(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:121:20)
at ../node_modules/pbkdf2/index.js(file:///data/data/com.ikredo.ikredolenderapp/files/app/vendor.js:142658:24)
at __webpack_require__(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:751:30)
at fn(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:121:20)
at ../node_modules/crypto-browserify/index.js(file:///data/data/com.ikredo.ikredolenderapp/files/app/vendor.js:58549:9)
at __webpack_require__(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:751:30)
at fn(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:121:20)
at ./global/functions.js(file:///data/data/com.ikredo.ikredolenderapp/files/app/bundle.js:22025:64)
at __webpack_require__(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:751:30)
at fn(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:121:20)
at ./global/init.js(file:///data/data/com.ikredo.ikredolenderapp/files/app/bundle.js:22311:68)
at __webpack_require__(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:751:30)
at fn(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:121:20)
at (file:///data/data/com.ikredo.ikredolenderapp/files/app/bundle.js:20643:70)
at ./app.js(file:///data/data/com.ikredo.ikredolenderapp/files/app/bundle.js:20701:30)
at __webpack_require__(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:751:30)
at checkDeferredModules(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:44:23)
at webpackJsonpCallback(file:///data/data/com.ikredo.ikredolenderapp/files/app/runtime.js:31:19)
at (file:///data/data/com.ikredo.ikredolenderapp/files/app/bundle.js:2:57)
at require(:1:266)
TypeError: Cannot read property 'split' of undefined
at com.tns.Runtime.runModule(Native Method)
at com.tns.Runtime.runModule(Runtime.java:674)
at com.tns.Runtime.run(Runtime.java:666)
at com.tns.NativeScriptApplication.onCreate(NativeScriptApplication.java:21)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1154)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6313)
... 8 more
试图克服“请添加更多详细信息”,很抱歉,看起来不专业,但我无法描述更多详细信息
编辑: 这是我的package.json
{
"nativescript": {
"id": "com.xxxx",
"tns-ios": {
"version": "6.0.1"
},
"tns-android": {
"version": "6.0.0"
}
},
"description": "Lender",
"license": "SEE LICENSE IN <your-license-filename>",
"repository": "<fill-your-repository-here>",
"dependencies": {
"axios": "^0.18.0",
"lodash": "^4.17.11",
"moment": "^2.24.0",
"nativescript-background-http": "^3.4.0",
"nativescript-camera": "^4.5.0",
"nativescript-cardview": "^3.1.1",
"nativescript-carousel": "^4.1.0",
"nativescript-checkbox": "^3.0.3",
"nativescript-clipboard": "^1.2.0",
"nativescript-datetimepicker": "^1.0.2",
"nativescript-drop-down": "^5.0.0",
"nativescript-fingerprint-auth": "^6.2.0",
"nativescript-imagepicker": "^6.1.2",
"nativescript-iqkeyboardmanager": "^1.4.0",
"nativescript-loading-indicator": "^2.4.0",
"nativescript-lottie": "^3.0.2",
"nativescript-material-bottomsheet": "^2.2.5",
"nativescript-material-ripple": "^2.2.5",
"nativescript-material-textfield": "^2.2.3",
"nativescript-pager": "^9.4.0",
"nativescript-pdf-view": "^2.0.1",
"nativescript-plugin-firebase": "9.0.2",
"nativescript-pulltorefresh": "^2.3.0",
"nativescript-sqlite": "^2.3.3",
"nativescript-statusbar": "^5.0.0",
"nativescript-theme-core": "~1.0.4",
"nativescript-vue": "2.3.0",
"nativescript-web-image-cache": "^5.0.0",
"tns-core-modules": "6.0.1",
"typescript": "^3.7.3"
},
"devDependencies": {
"@babel/core": "~7.1.0",
"@babel/preset-env": "~7.1.0",
"babel-loader": "~8.0.0",
"nativescript-dev-webpack": "1.0.1",
"nativescript-vue-template-compiler": "2.3.0",
"node-sass": "4.12.0",
"vue-loader": "~15.4.0",
"tns-platform-declarations": "6.0.1"
},
"gitHead": "xxx",
"readme": "NativeScript Application",
"maxLogcatObjectSize": 1000000
}
答案 0 :(得分:0)
在某个地方,“某物”正在尝试对不存在或尚未初始化的字符串执行split
。我不能说,“我碰到了这个确切的问题,这就是解决方案。”但是,在更新项目依赖项时,我肯定遇到了一些……有趣的问题。我的第一个猜测是您的webpack.config.js
需要更新以匹配新的依赖项。但这不只是一种直觉,还是一个起点。
因此,有些事情可能会[或可能不会]有帮助。现在,无论何时更新依赖关系,我都会经历这些分类点:
tns doctor
,查看它是否对任何现有依赖项有任何看法tns-core-modules/
。而是使用@nativescript/core/
。如果您使用的是较旧的,向后兼容的模块,请确保它们的版本也已更新(tns-core-modules
和tns-platform-declarations
)。webpack.config.js
文件,以便NativeScript可以生成新的当前版本。 tns update
似乎没有更新Webpack配置。最多在构建时会在数百行控制台输出中发出警告。在删除Webpack配置并允许NativeScript生成新配置后,GitHub显示了旧版本/新版本之间的一些显着差异。node_modules
文件夹,然后运行tns platform clean android
和tns platform clean ios
。希望这对您有所帮助。祝你好运!
答案 1 :(得分:0)
在var process = require('process');
的顶部添加default-encoding.js
,而_stream_writable.js
为我修复了该问题。