[
https://issues.apache.org/jira/browse/CB-14166?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16521879#comment-16521879
]
Ken Naito commented on CB-14166:
--------------------------------
I can reproduce this issue by using node 6.14.3, 7.2.1, 9.5.0 and 10.5.0.
I think following codes in the cordova-lib/src/plugman/fetch.js are unnecessary.
{code}
if (process.platform === 'win32' && parsedSpec.version) {
var windowsShellSpecialCharacters = ['&', '\\', '<',
'>', '^', '|'];
specContainsSpecialCharacters =
windowsShellSpecialCharacters.some(function (character) {
return parsedSpec.version.indexOf(character);
});
}
{code}
This function escapes version code of node module.
On the other hand, the escaped parameter is used in superspawn.js like
{code}
var child = child_process.spawn(cmd, args, spawnOpts);
{code}
where args includes above escaped parameter.
For example, cmd and args are
{code}
cmd = C:\Program Files (x86)\Nodist\bin\npm.exe
args = [ 'install',
'cordova-plugin-whitelist@"1"',
'--production',
'--save' ]
{code}
Note "1" is escaped.
However child_process escapes args by itself.
Therefore escaped args become further escaped.
Then the error occurs.
{code}
npm ERR! code EINVALIDTAGNAME
npm ERR! Invalid tag name ""1"": Tags may not have any characters that
encodeURIComponent encodes.
{code}
Node that ""1"" is doubly escaped.
> Cordova on windows fails when adding plugin
> -------------------------------------------
>
> Key: CB-14166
> URL: https://issues.apache.org/jira/browse/CB-14166
> Project: Apache Cordova
> Issue Type: Bug
> Components: cordova-windows
> Reporter: takuya
> Assignee: Jesse MacFadyen
> Priority: Blocker
>
> cordova on windows fails to add the plugin.
> This error happens even when cordova-plugin-whitelist.
> Therefore `cordova platform add windows` also fails.
> For example,
> ```
> > cordova create sample
> > cd sample
> > cordova platform add windows
> ```
> brings following error.
> ```
> ...
> Check your connection and plugin name/version/URL.
> Error: C:\Program Files (x86)\Nodist\bin\npm.exe: Command failed with exit
> code 1 Error output:
> npm ERR! code EINVALIDTAGNAME
> npm ERR! Invalid tag name ""1"": Tags may not have any characters that
> encodeURIComponent encodes.
> ```
> This error happens for windows environment only.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]