我使用(我的操作系统:Windows 10)创建一个示例项目;
expo init test
cd test
npm start
一切正常,我可以在手机上看到我的应用程序,并且package.json看起来不错;
{
"name": "empty-project-template",
"main": "node_modules/expo/AppEntry.js",
"private": true,
"scripts": {
"start": "expo start",
"android": "expo start --android",
"ios": "expo start --ios",
"eject": "expo eject"
},
"dependencies": {
"expo": "^30.0.1",
"react": "16.3.1",
"react-native": "https://github.com/expo/react-native/archive/sdk-30.0.0.tar.gz",
}
}
但是,如果我要安装“ uuid”之类的软件包,
npm install uuid
安装软件包没有问题,然后我写了;
npm start
This command requires Expo CLI.
Do you want to install it globally [Y/n]?
我按'Y',但是会出现错误;
This command requires Expo CLI.
Do you want to install it globally [Y/n]? y
Installing the package 'expo-cli'...
events.js:183
throw er; // Unhandled 'error' event
^
Error: spawn npm ENOENT
at Process.ChildProcess._handle.onexit (internal/child_process.js:190:19)
at onErrorNT (internal/child_process.js:362:16)
at _combinedTickCallback (internal/process/next_tick.js:139:11)
at process._tickCallback (internal/process/next_tick.js:181:9)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! empty-project-template@ start: `expo start`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the empty-project-template@ start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
软件包名称并不重要,如果我安装了任何软件包并运行npm start
,则我的项目已关闭并且我无法使用我的项目,我使用yarn
测试了此步骤,它与{{1 }},我的错误是什么?
答案 0 :(得分:5)
对于那些为此问题苦苦挣扎的人,
你很好。
答案 1 :(得分:3)
对我来说,直接运行expo start
即可。似乎npm
尚不知道expo-cli
答案 2 :(得分:2)
解决方案仅使用expo-cli start
,而不使用npm start
或yarn start
。因此,它现在可以正常工作了。
因此,如果您想使用expo创建没有反应的本机应用程序,则步骤如下:
expo-cli init [project-name]
cd [project-name]
npm install package
或yarn add package
expo-cli start
(不要使用npm start
或yarn start
)答案 3 :(得分:1)
这是一个已知的错误。请参阅issue #51 of expo-cli进行后续操作。
答案 4 :(得分:0)
似乎expo-cli没有正确安装。 尝试再次安装:
sub.domain.com/sites/app
您可能需要以管理员身份启动命令外壳程序才能运行命令。
您还需要在计算机上安装Node.js(版本6或更高版本)。
答案 5 :(得分:0)
我已将版本降级为“ expo”:“ ^ 30.0.0”。它解决了同样的问题。
答案 6 :(得分:0)
尝试通过以下方式将expo-cli
添加到开发人员依赖项:
yarn add expo-cli --dev
答案 7 :(得分:0)
我不知道您使用的是哪个版本的Node.js。 但是您可以使用此版本的Node.js 12.10.0。这样可以解决您的问题。
答案 8 :(得分:0)
我遇到了同样的问题。就我而言,我已经在运行带有Expo的另一个应用程序,并在另一个窗口中使用Expo创建了一个新应用程序(这应该没问题)。尽管我的新应用程序收到了此错误,但是当我使用expo start
启动现有应用程序时,它可以毫无问题地启动该应用程序。因此,我的计算机上安装的expo客户端或节点版本没有任何问题。节点模块安装可能有问题。
因此,我刚刚退出运行App CLI并重新创建了一个新App。遵循Setting up the development environment
中提供的步骤现在可以正常工作了。
答案 9 :(得分:0)
只需补充一点,我有一个类似的问题。我进行了全新安装:
cmd
并执行cd C:\
npm -g uninstall expo-cli --save
<windwos drive>\Users\<yourUser>\
并删除.expo
文件夹cmd
并输入:npm install -g expo-cli --save
对我有用。它也可能对您有用。
答案 10 :(得分:0)
如果您使用的是 Linux,请尝试使用以下命令全局安装 expo-cli:
sudo npm install -g expo-cli