NPM模块需要从/ Users / node_modules /而不是项目目录

我的反应原生项目一直运行良好,直到我将反应本机从0.17升级到0.18,然后是0.19。

自从升级任何模块(例如app-module-path)之后,我:

  1. 使用npm npm install --save app-module-path成功安装

  2. add require('app-module-path').addPath(__dirname); 在我的代码

运行模拟器时出现以下错误:

Unable to resolve module from /Users/MyUserName/myfolder/projectname/node_modules/app-module-path/lib/index.js: Invalid directory /Users/node_modules/module

它似乎是在错误的path寻找模块。 我试图清除所有的caching,卸载重新安装react-native,然后重新启动我的机器,甚至从头开始一个干净的项目,问题依然存在。

我已经尝试了所有正式发布的解决scheme,没有任何运气: https : //github.com/facebook/react-native/issues/4968

npm:3.3.12 React-Native:0.19 OSX:10.11.2守望者:稳定4.1.0(瓶装),HEAD

我正在寻找任何types的解决scheme来修复我的环境,而不会丢失我的代码以及我在XCode和Android项目中添加的一些集成,以添加一些模块。

提前非常感谢!

节点js有一组可能包含模块的文件夹。 当你安装一个模块时,有时模块可以依赖于其他模块。 你必须安装这个依赖手册。 例如,如果错误是/ Users / node_modules /模块,你必须安装“npm install -S module”。 它在/ Users / node_modules中显示为缺lesspath的错误,因为这是完整arrays的最后一个元素,可能的path可能包含模块(对于MAC)。

完整的操作系统path列表: https : //www.npmjs.com/package/npm-paths

看来很多人都没有解决这个问题:

https://github.com/facebook/react-native/issues/4968

我无法安装和使用任何额外的npm包作为模块。

模块path是正确的。 我把在xcode中显示的path剪切并粘贴到terminal中,以testingpath是否有效和正确。

使用:

  • OS X 10.11.3
  • npm 3.3.12
  • 节点v5.5.0
  • react-native-cli:0.1.10
  • react-native:0.21.0
  • xcode 7.2.1

没有变通办法,包括:

  • npm3
  • rm -rf node_modules
  • npm从./node_modules/react-native开始。
  • 守望者手表全部
  • rm -fr $ TMPDIR / react- *
  • npm cache clean && npm
  • 安装从头开始创build一个新项目
  • 修改react-native / packager / react-packager / src / Resolver / index.js:98

    -shouldThrowOnUnresolvedErrors:(,platform)=> platform ==='ios',+ shouldThrowOnUnresolvedErrors:(,platform)=> {return false; },

如何在没有使用其他npm软件包的情况下在react-native中完成任何工作?