首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >expo安装<package>在Ubuntu18.04上失败

expo安装<package>在Ubuntu18.04上失败
EN

Stack Overflow用户
提问于 2020-04-02 04:22:57
回答 1查看 454关注 0票数 0

我在使用expo启动这个react原生应用程序时遇到了一些麻烦。我不能使用npm安装expo-cli,所以我决定使用Yarn。经过yarn的一些错误后,它终于解决了,但现在我不能添加任何包到项目中使用expo install

下面是我运行的命令:

代码语言:javascript
复制
expo install react-native-gesture-handler react-native-reanimated react-native-screens react-native-safe-area-context @react-native-community/masked-view

来自react-navigation tutorial

但是我得到了以下输出:

代码语言:javascript
复制
yarn add v1.22.4
[1/4] Resolving packages...
info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this comm
and.
yarnpkg exited with non-zero code: 1
Error: yarnpkg exited with non-zero code: 1
    at ChildProcess.completionListener (/usr/local/share/.config/yarn/global/node_modules/@expo/spawn-async/src/spawnAsync.ts:65:13)
    at Object.onceWrapper (events.js:418:26)
    at ChildProcess.emit (events.js:311:20)
    at maybeClose (internal/child_process.js:1021:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)
    ...
    at Object.spawnAsync [as default] (/usr/local/share/.config/yarn/global/node_modules/@expo/spawn-async/src/spawnAsync.ts:26:19)
    at YarnPackageManager.<anonymous> (/usr/local/share/.config/yarn/global/node_modules/@expo/package-manager/src/PackageManager.ts:208:31)
    at Generator.next (<anonymous>)
    at /usr/local/share/.config/yarn/global/node_modules/@expo/package-manager/build/PackageManager.js:8:71
    at new Promise (<anonymous>)
    at __awaiter (/usr/local/share/.config/yarn/global/node_modules/@expo/package-manager/build/PackageManager.js:4:12)
    at YarnPackageManager._runAsync (/usr/local/share/.config/yarn/global/node_modules/@expo/package-manager/build/PackageManager.js:194:16)
    at YarnPackageManager.<anonymous> (/usr/local/share/.config/yarn/global/node_modules/@expo/package-manager/src/PackageManager.ts:189:16)
    at Generator.next (<anonymous>)
    at /usr/local/share/.config/yarn/global/node_modules/@expo/package-manager/build/PackageManager.js:8:71

yarn-error.log (第一行):

代码语言:javascript
复制
Arguments: 
  /snap/node/2609/bin/node /usr/share/yarn/bin/yarn.js add react-native-gesture-handler@~1.6.0 react-native-reanimated@~1.7.0 react-native-screens@~2.2.0 react-native-safe-area-context@0.7.3 @react-native-community/masked-view@0.1.6

PATH: 
  /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin

Yarn version: 
  1.22.4

Node version: 
  12.16.1

Platform: 
  linux x64

Trace: 
  Error: EACCES: permission denied, write
      at writeSync (fs.js:598:3)
      at SyncWriteStream._write (internal/fs/sync_write_stream.js:24:3)
      at doWrite (_stream_writable.js:441:12)
      at writeOrBuffer (_stream_writable.js:425:5)
      at SyncWriteStream.Writable.write (_stream_writable.js:316:11)
      at Object.cursorTo (readline.js:1222:17)
      at writeOnNthLine (/usr/share/yarn/lib/cli.js:49676:14)
      at Spinner.render (/usr/share/yarn/lib/cli.js:97425:48)
      at Spinner.start (/usr/share/yarn/lib/cli.js:97412:10)
      at ConsoleReporter.activity (/usr/share/yarn/lib/cli.js:96958:13)

npm manifest: 
  {
    "main": "node_modules/expo/AppEntry.js",
    "scripts": {
      "start": "expo start",
      "android": "expo start --android",
      "ios": "expo start --ios",
      "web": "expo start --web",
      "eject": "expo eject"
    },
    "dependencies": {
      "@react-navigation/native": "^5.1.4",
      "expo": "~37.0.3",
      "react": "~16.9.0",
      "react-dom": "~16.9.0",
      "react-native": "https://github.com/expo/react-native/archive/sdk-37.0.0.tar.gz",
      "react-native-web": "~0.11.7"
    },
    "devDependencies": {
      "@babel/core": "^7.8.6",
      "babel-preset-expo": "~8.1.0"
    },
    "private": true
  }

yarn manifest: 
  No manifest

尽管该错误指出这是权限问题,但使用sudo运行该命令并不起作用。

导致此错误的原因可能是什么?

EN

回答 1

Stack Overflow用户

发布于 2020-12-31 17:59:17

我也遇到了这个问题,似乎是因为通过snap安装了node.js。关于snap环境中文件权限的一些问题,尽管我不完全确定为什么npm和yarn可以正常工作,但在通过expo运行时就不能正常工作

卸载node的snap版本并通过apt安装为我解决了这个问题,如果您想要比Ubuntu apt存储库支持的更高版本的node,那么有一个很好的tutorial here

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60979663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档