android - 无法将 npm 包安装到 nativescript 项目中(..在安装 nativescript-nodeify 之后?)

标签 android node.js npm nativescript

我遇到的问题已经让我头疼了好几个小时。我正在开发一个在 nativescript 环境中开发的移动应用程序。由于我的应用程序需要解码 JSON Web token 以用于登录目的,我尝试安装 npm jsonwebtoken-package,它似乎与 nativescript 不兼容。经过一番谷歌后,我找到了我通过安装的“nativescript-nodeify”插件

tns plugin add nativescript-nodeify

之后一切似乎都正常,但后来我尝试安装另一个包,这给了我以下错误:

npm ERR! code EINVALIDPACKAGENAME
npm ERR! Invalid package name "nativescript-nodeify/node_modules/string_decoder": name can only contain URL-friendly characters

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/jonas/.npm/_logs/2017-10-06T16_24_33_241Z-debug.log

这是日志文件的内容:

0 info it worked if it ends with ok
1 verbose cli [ '/home/jonas/.nvm/versions/node/v6.11.3/bin/node',
1 verbose cli   '/home/jonas/.nvm/versions/node/v6.11.3/bin/npm',
1 verbose cli   'install',
1 verbose cli   'file-system',
1 verbose cli   '--save' ]
2 info using npm@5.4.2
3 info using node@v6.11.3
4 verbose npm-session d7333b71d2cd0141
5 silly install loadCurrentTree
6 silly install readLocalPackageData
7 http fetch GET 304 https://registry.npmjs.org/file-system 216ms (from cache)
8 silly pacote tag manifest for file-system@latest fetched in 238ms
9 silly install loadIdealTree
10 silly install cloneCurrentTreeToIdealTree
11 silly install loadShrinkwrap
12 silly install loadAllDepsIntoIdealTree
13 silly resolveWithNewModule file-system@2.2.2 checking installable status
14 http fetch GET 304 https://registry.npmjs.org/utils-extend 164ms (from cache)
15 silly pacote range manifest for utils-extend@^1.0.4 fetched in 166ms
16 silly resolveWithNewModule utils-extend@1.0.8 checking installable status
17 http fetch GET 304 https://registry.npmjs.org/file-match 171ms (from cache)
18 silly pacote range manifest for file-match@^1.0.1 fetched in 172ms
19 silly resolveWithNewModule file-match@1.0.2 checking installable status
20 verbose stack Error: Invalid package name "nativescript-nodeify/node_modules/string_decoder": name can only contain URL-friendly characters
20 verbose stack     at invalidPackageName (/home/jonas/.nvm/versions/node/v6.11.3/lib/node_modules/npm/node_modules/npm-package-arg/npa.js:71:15)
20 verbose stack     at Object.Result.setName (/home/jonas/.nvm/versions/node/v6.11.3/lib/node_modules/npm/node_modules/npm-package-arg/npa.js:107:11)
20 verbose stack     at Object.Result (/home/jonas/.nvm/versions/node/v6.11.3/lib/node_modules/npm/node_modules/npm-package-arg/npa.js:96:23)
20 verbose stack     at Function.resolve (/home/jonas/.nvm/versions/node/v6.11.3/lib/node_modules/npm/node_modules/npm-package-arg/npa.js:45:15)
20 verbose stack     at childDependencySpecifier (/home/jonas/.nvm/versions/node/v6.11.3/lib/node_modules/npm/lib/install/deps.js:81:14)
20 verbose stack     at addDependency (/home/jonas/.nvm/versions/node/v6.11.3/lib/node_modules/npm/lib/install/deps.js:532:15)
20 verbose stack     at /home/jonas/.nvm/versions/node/v6.11.3/lib/node_modules/npm/lib/install/deps.js:482:5
20 verbose stack     at /home/jonas/.nvm/versions/node/v6.11.3/lib/node_modules/npm/node_modules/slide/lib/async-map.js:52:35
20 verbose stack     at Array.forEach (native)
20 verbose stack     at /home/jonas/.nvm/versions/node/v6.11.3/lib/node_modules/npm/node_modules/slide/lib/async-map.js:52:11
20 verbose stack     at Array.forEach (native)
20 verbose stack     at asyncMap (/home/jonas/.nvm/versions/node/v6.11.3/lib/node_modules/npm/node_modules/slide/lib/async-map.js:51:8)
20 verbose stack     at loadDeps (/home/jonas/.nvm/versions/node/v6.11.3/lib/node_modules/npm/lib/install/deps.js:474:3)
20 verbose stack     at Array.<anonymous> (/home/jonas/.nvm/versions/node/v6.11.3/lib/node_modules/npm/node_modules/slide/lib/bind-actor.js:15:8)
20 verbose stack     at LOOP (/home/jonas/.nvm/versions/node/v6.11.3/lib/node_modules/npm/node_modules/slide/lib/chain.js:15:14)
20 verbose stack     at /home/jonas/.nvm/versions/node/v6.11.3/lib/node_modules/npm/node_modules/slide/lib/chain.js:18:7
21 verbose cwd /home/jonas/Dokumente/Telemedizin-Bachelorarbeit-JF/medicalIM
22 verbose Linux 4.4.0-42-generic
23 verbose argv "/home/jonas/.nvm/versions/node/v6.11.3/bin/node" "/home/jonas/.nvm/versions/node/v6.11.3/bin/npm" "install" "file-system" "--save"
24 verbose node v6.11.3
25 verbose npm  v5.4.2
26 error code EINVALIDPACKAGENAME
27 error Invalid package name "nativescript-nodeify/node_modules/string_decoder": name can only contain URL-friendly characters
28 verbose exit [ 1, true ]

我试图通过卸载 nativescript-nodeify

tns plugin remove nativescript-nodeify

这似乎也使用了 npm 命令但失败了:

Command failed: npm uninstall nativescript-nodeify --save
npm ERR! code EINVALIDPACKAGENAME
npm ERR! Invalid package name "util/util.js": name can only contain URL-friendly characters

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/jonas/.npm/_logs/2017-10-06T16_01_14_047Z-debug.log

我返回了一些提交(在我安装 nodeify 之前)并且 npm install 命令按预期工作。

因为我的项目中需要这些包,所以如果有人能找到使 nativescript-nodeify 正常工作的解决方案或替代方案,那就太棒了。

提前谢谢你;)

最佳答案

我会遇到同样的问题吗? 每次遇到此问题时,您都必须删除所有 Node 模块并重新安装。 这是一个糟糕的解决方案,但到目前为止它是唯一的解决方案。

关于android - 无法将 npm 包安装到 nativescript 项目中(..在安装 nativescript-nodeify 之后?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46610730/

相关文章:

java - Android listview in listview追加数据

javascript - Cordova-在Android上控制几种声音

javascript - Node.js 需要回调函数,但得到了一个 [object Object]

node.js - 如何在 firebase 上使用带有 Handlebars 模板引擎的 Node js 托管我的 Web 应用程序

ubuntu - gulp 工作不正常,版本不显示

node.js - 将参数/通配符定义为 npm 脚本键/名称的一部分

visual-studio-2015 - 尝试缩小 js 文件时,gulp 进程以代码 0 终止

android - 使用真实设备控制Android模拟器

java - 将列表传递给自定义 View ?

node.js - Mongoose 模式更新 GeoJSON