Macos 为什么我的npm安装在Mac上失败?

Macos 为什么我的npm安装在Mac上失败?,macos,react-native,npm,npm-install,Macos,React Native,Npm,Npm Install,React Native的新增功能我已确保从安装开始和安装后安装node.js,我被告知: Node.js v9.5.0 to /usr/local/bin/node npm v5.6.0 to /usr/local/bin/npm 我可以验证节点版本: node --version: v9.5.0 我为npm安装运行了文档: npm install -g create-react-native-app npm ERR! code EUNSUPPORTEDPROTOCOL npm ERR!

React Native的新增功能我已确保从安装开始和安装后安装node.js,我被告知:

Node.js v9.5.0 to /usr/local/bin/node
npm v5.6.0 to /usr/local/bin/npm
我可以验证节点版本:

node --version: v9.5.0
我为
npm安装运行了文档:

npm install -g create-react-native-app
npm ERR! code EUNSUPPORTEDPROTOCOL
npm ERR! Unsupported URL Type "npm:": npm:babylon@^7.0.0-beta
npm WARN deprecated gulp-util@3.0.8: gulp-util is deprecated - replace it, following the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5
还引用了
建筑项目
,并使用brew安装了watchman:

watchman 4.9.0
在终端中运行:
npm安装-g react native cli
和终端:
npm start
,我得到:

grim ~/react-native/react-native npm start

> react-native@1000.0.0 start /Users/grim/React-Native/react-native
> /usr/bin/env bash -c './scripts/packager.sh "$@" || true' --

module.js:557
    throw err;
    ^

Error: Cannot find module 'graceful-fs'
    at Function.Module._resolveFilename (module.js:555:15)
    at Function.Module._load (module.js:482:25)
    at Module.require (module.js:604:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/Users/grim/React-Native/react-native/local-cli/cli.js:12:1)
    at Module._compile (module.js:660:30)
    at Object.Module._extensions..js (module.js:671:10)
    at Module.load (module.js:573:32)
    at tryModuleLoad (module.js:513:12)
    at Function.Module._load (module.js:505:3)
grim ~/react-native/react-native 
并获得:

+ graceful-fs@4.1.11
added 1 package in 0.678s
但当我运行
npm install
时,我得到:

npm ERR! code EUNSUPPORTEDPROTOCOL
npm ERR! Unsupported URL Type "npm:": npm:babylon@^7.0.0-beta
npm WARN deprecated gulp-util@3.0.8: gulp-util is deprecated - replace it, following the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/grim/.npm/_logs/2018-02-08T17_08_50_619Z-debug.log
up to date in 0.416s
在文件日志中显示:

116 error code EUNSUPPORTEDPROTOCOL
117 error Unsupported URL Type "npm:": npm:babylon@^7.0.0-beta
所以我去了,但是当我去的时候:

npm ls gulp-util
我得到
└── (空)

我发现了进一步的研究,但这会抛出一个
npm错误我做错了什么?如何在运行Seirra的Mac上成功安装
npm

导致此问题的原因是试图从测试中测试
RNTester
,它告诉我:

git clone https://github.com/facebook/react-native.git
cd react-native
npm install

编辑

根据建议的答案,已尝试
brew安装节点
,并被告知带有警告
节点9.5.0已安装
因此尝试
brew链接节点
,然后提示:

grim ~/react-native/react-native brew link node
Linking /usr/local/Cellar/node/9.5.0... 
Error: Could not symlink bin/node
Target /usr/local/bin/node
already exists. You may want to remove it:
  rm '/usr/local/bin/node'

To force the link and overwrite all conflicting files:
  brew link --overwrite node

To list all files that would be deleted:
  brew link --overwrite --dry-run node
所以运行了
brew链接--覆盖节点


编辑

Users/grim
下浏览我的文件时,我发现了一个名为
node\u modules
的目录,其中的模块可能位于错误的位置


编辑

经过进一步研究,我发现并运行:

使用nano修改了我的
~/.bash\u配置文件

export PATH="$HOME/.npm-packages/bin:$PATH"
运行
npm install
并收到丢失的
package.json
文件,因此在终端中执行了
npm init
并回答了问题。返回并指向克隆的repo,当我运行
npm安装时

npm install -g create-react-native-app
npm ERR! code EUNSUPPORTEDPROTOCOL
npm ERR! Unsupported URL Type "npm:": npm:babylon@^7.0.0-beta
npm WARN deprecated gulp-util@3.0.8: gulp-util is deprecated - replace it, following the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5
但是如果我用
react native init AwesomeProject
npm install
构建一个新项目,我会得到:

npm ERR! code EUNSUPPORTEDPROTOCOL
npm ERR! Unsupported URL Type "npm:": npm:babylon@^7.0.0-beta
npm WARN deprecated gulp-util@3.0.8: gulp-util is deprecated - replace it, following the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/grim/.npm/_logs/2018-02-08T17_08_50_619Z-debug.log
up to date in 0.416s

我可以指向该项目并执行
react native run ios
,但
react native run android
必须在
build.bundle
中进行调整,从:
classpath'com.android.tools.build:gradle:2.2.3'
classpath“com.android.tools.build:gradle:2.1.0”

使用Mac自制软件作为软件包管理器

然后可以运行:brew安装节点


这方面还有许多其他实用程序。

创建反应本机应用程序不适用于npm 5


我在Windows上也遇到了同样的问题,并将我的npm降级为4你可以使用npm I-gnpm@4降级。

已经尝试过,但仍会抛出错误。我会做一个编辑。很有趣,今晚晚些时候我会测试一下,然后再给你回复。我正在运行的问题是遗留应用程序,但当我使用unit创建新应用程序时,我在Androideah中呈现之前没有问题,希望这也能解决您的问题。我在带有节点LTS版本和npm 5的Windows上遇到了这个问题,深入研究了React的Github,发现建议的解决方案是将npm降级到4。遗憾的是,这不起作用,并抛出CheckPermission警告和路径错误。您找到答案了吗?如果是,愿意分享吗?