Expo命令抛出“错误:找不到模块'minizlib'”

时间:2019-07-11 22:44:20

标签: javascript node.js react-native npm expo

每当我尝试运行诸如expo initexpo start或什至只是expo之类的命令时,它都会响应:

Error: Cannot find module 'minizlib'
Require stack:
- /usr/local/lib/node_modules/expo-cli/node_modules/tar/lib/pack.js
- /usr/local/lib/node_modules/expo-cli/node_modules/tar/lib/create.js
- /usr/local/lib/node_modules/expo-cli/node_modules/tar/index.js
- /usr/local/lib/node_modules/expo-cli/node_modules/@expo/xdl/build/Extract.js
- /usr/local/lib/node_modules/expo-cli/node_modules/@expo/xdl/build/Api.js
- /usr/local/lib/node_modules/expo-cli/node_modules/@expo/xdl/build/xdl.js
- /usr/local/lib/node_modules/expo-cli/build/exp.js
- /usr/local/lib/node_modules/expo-cli/bin/expo.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:625:15)
    at Function.Module._load (internal/modules/cjs/loader.js:527:27)
    at Module.require (internal/modules/cjs/loader.js:683:19)
    at require (internal/modules/cjs/helpers.js:16:16)
    at Object.<anonymous> (/usr/local/lib/node_modules/expo-cli/node_modules/tar/lib/pack.js:28:14)
    at Module._compile (internal/modules/cjs/loader.js:776:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
    at Module.load (internal/modules/cjs/loader.js:643:32)
    at Function.Module._load (internal/modules/cjs/loader.js:556:12)
    at Module.require (internal/modules/cjs/loader.js:683:19)

我尝试安装和重新安装minizlib,以及expo,expo-cli,npm和node,但没有任何效果。 任何帮助将不胜感激。

操作系统:Ubuntu 18.04.2

4 个答案:

答案 0 :(得分:1)

我遇到同样的问题,找不到“ minizlib”。关于此问题,此处发布的解决方案或其他主题均未解决。

但是,我知道了。这就是对我有用的。非常简单。

  • 世博会运行所需的所有模块均应位于 private boolean doValidGradoAntComp(final StringBuilder grade) { boolean isValid = false; switch (grade.toString()) { case "2o semester": isValid = true; break; case "4o semester": isValid = true; break; case "6o semester": isValid = true; break; case "8o semester": isValid = true; break; default: break; } return isValid; }
  • 因此,转到您的主目录并运行/usr/local/lib/node_modules/expo-cli/node_modules/。 这会将模块文件放在主目录中。 (我说回家 目录,以便npm install不会使文件混乱 您以前使用的目录)
  • 现在,您需要将模块文件夹复制并粘贴到npm文件夹中 在运行expo命令时正在寻找。在你的情况下 npm install minizlib@2.1.0

这为我解决了问题。如果对其他任何人都有效,请为我进行验证。

答案 1 :(得分:1)

安装库

npm install -g minizlib

答案 2 :(得分:0)

我有同样的问题。我使用nvm install 10降级到节点的第10版(如果您没有NVM查看here,这非常有用),然后使用npm install -g expo-cli重新安装了expo-cli。最终为我解决了这个问题。

注意:如果您要将其降级为默认版本,则必须暂时运行nvm alias default 10

答案 3 :(得分:0)

我遇到了同样的问题,由于有了@parkerroanm的回答,我在external forum.中找到了解决问题的方法。

无论如何,这是我的解决方法(根据我找到的答案):

  1. 我使用以下命令卸载了expo-cli:sudo npm uninstall -g expo-cli实际上并没有卸载expo,我无能为力。因此,我使用以下命令删除了该文件夹:sudo rm -r / usr / local / lib / node_modules / expo-cli
  2. 然后使用yarn yarn global add expo-cli --save
  3. 重新安装
  4. 我更新了PATH中的.bashrc,将export PATH="$(yarn global bin):$PATH"包含在文件底部。

这为我解决了这个问题。

  

这似乎都是由于安装了权限错误   锋利的图书馆。