当我尝试tns run android Pixel_2_API_29
时,出现以下错误:
您的应用程序将仅部署在由 提供的索引或标识符。无法在设备上应用更改: 仿真器-5554。错误是:当前版本 nativescript-dev-webpack(1.0.0)与使用的CLI不兼容: 5.4.2。请升级您的NativeScript CLI版本(npm i -g nativescript)。
由于我是一名新学习者,想将2017年编写的NativeScript项目(版本5或6)转换为版本8,所以我更改了许多文件,似乎一切正常,但是我不知道为什么我要在模拟器上运行时出现此错误?
我不知道必须在哪个项目文件中查找此错误?让我知道将文件的内容放在这里。
我也尝试过npm i -g nativescript
,但仍然遇到相同的错误。
编辑:我转到了node_modules
文件夹所在的项目的根目录。然后尝试使用此命令>npm i nativescript-dev-webpack@latest --save-dev ./node_modules/.bin/update-ns-webpack --deps --configs
并得到以下结果:
npm ERR! code ENOLOCAL
npm ERR! Could not install from "node_modules\.bin\update-ns-webpack" as it does not contain a package.json file.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\m\AppData\Roaming\npm-cache\_logs\2019-07-13T11_27_04_487Z-debug.log
我在项目内的sayad目录中搜索了update-ns-webpack
,并在那里找到了它。我还找到了另一个名为update-ns-webpack.cmd
的文件。它们的内容是:
update-ns-webpack
:
#!/bin/sh
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
case `uname` in
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
esac
if [ -x "$basedir/node" ]; then
"$basedir/node" "$basedir/../nativescript-dev-webpack/bin/update-ns-webpack" "$@"
ret=$?
else
node "$basedir/../nativescript-dev-webpack/bin/update-ns-webpack" "$@"
ret=$?
fi
exit $ret
还有update-ns-webpack.cmd
:
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" "%~dp0\..\nativescript-dev-webpack\bin\update-ns-webpack" %*
) ELSE (
@SETLOCAL
@SET PATHEXT=%PATHEXT:;.JS;=;%
node "%~dp0\..\nativescript-dev-webpack\bin\update-ns-webpack" %*
)
EDIT2:我使用上述命令更新了Webpack(问题是我不应该在Windows命令行中使用.
来执行脚本文件),但是在尝试{{ 1}}。
我在这里上传了我的项目:https://github.com/rezaee/confusion-last。请看看它们,也许您可以找到问题所在?
答案 0 :(得分:0)
我已经从github下载了您的代码,并意识到您正在使用“ nativescript-dev-webpack”:“ ^ 1.0.0”,它仍然是候选版本,并且与您的其他依赖项不兼容。我已经卸载了该软件,然后重新安装了稳定版,一切正常。
在上面运行以下命令
npm uninstall nativescript-dev-webpack --save-dev
npm install nativescript-dev-webpack --save-dev
这会将0.24.1版本安装到您的项目中,并将其也添加到package.json中。 “ nativescript-dev-webpack”:“ ^ 0.24.1”
之后更新webpack配置。
./node_modules/.bin/update-ns-webpack --configs
现在运行tns debug android --bundle
P.S。尽管由于所有文件均不存在而显示出一些错误,但可能是您忘记了提交例如'./about.component.css'和'./contact.component.css',./favorites.component.css等。