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

时间:2016-02-02 07:34:51

标签: node.js macos npm react-native

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

自从升级任何模块(例如app-module-path)以来我:

  1. 使用npm - npm install --save app-module-path

  2. 成功安装
  3. 在我的代码中添加require('app-module-path').addPath(__dirname);

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

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

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

    我已经尝试过在官方问题上发布的所有解决方案,但没有任何运气: https://github.com/facebook/react-native/issues/4968

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

    我正在寻找能够修复我的环境的任何类型的解决方案,而不会丢失我的代码以及我在XCode和Android项目中添加的一些模块以添加一些模块。

    非常感谢你!

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:-1)

似乎很多人都遇到了这个问题而没有解决方案:

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

我无法安装和使用任何其他npm软件包作为模块。

模块路径正确。我将xcode中显示的路径剪切并粘贴到终端中,以测试路径是否有效且正确。

使用:

  • OS X 10.11.3
  • npm 3.3.12
  • node 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。
  • 开始
  • watchman watch-del-all
  • rm -fr $ TMPDIR / react- *
  • npm cache clean&& NPM
  • 安装从头开始创建新项目
  • 修改 react-native / packager / react-packager / src / Resolver / index.js:98

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

如果没有使用额外的npm包,人们如何在react-native中完成任何工作?