xcode 使用了错误的 node.js 版本
xcode using wrong node.js version
我是 React Native 的新手。我使用 react-native init XXX
创建了一个新项目。启动 xcodeproj 时,我收到一条错误消息:
const setupEnvScript = /^win/.test(process.platform)
^^^^^
SyntaxError: Use of const in strict mode.
at Module._compile (module.js:439:25)
at Module._extensions..js (module.js:474:10)
at Object.require.extensions.(anonymous function) [as .js] (/Users/allanhahaha/Documents/Seat/getseat/SeatApp/node_modules/react-native/node_modules/babel-core/lib/api/register/node.js:214:7)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/Users/allanhahaha/Documents/Seat/getseat/SeatApp/node_modules/react-native/cli.js:15:18)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
根据我的研究,这是一个 node.js 版本问题:我应该使用 v.4.0+。
我正在使用 NVM 来管理我的 node.js 版本。在 常规终端 window 中,我有这个:
$ node --version
v5.1.0
但在 xcode 中 运行 启动 shell 脚本时,我看到它使用了不同的版本,v0.10.40
,而 xcode 没有' 也知道 nvm
命令..
问题是,我应该如何配置我的 Mac 以便 xcode 可以选择我用 nvm 设置的相同版本?
谢谢!
更新:我试图在 xcode 执行的 shell 脚本中 source
我的 ~/.bash_profile
,但仍然没有解决问题。
我通过将 . ~\.bash_profile
添加到 shell 脚本的顶部解决了这个问题。
当您使用错误的 Node(以及 npm)版本安装 react-native-cli 时,似乎会出现此问题。
首先关闭xcode,让我们确保没有旧节点进程运行ning,我不确定是否有必要,但最好确保:
$ ps -e|grep node
$ kill {process number(s) here}
然后将默认的nvm节点版本设置为你想使用的版本,例如:
$ nvm alias default 6.6.0
然后重启你的终端,确保节点版本现在是你默认的版本:
$ node -v
v6.6.0
现在重新安装 react-native-cli 并激活新节点版本(它会影响 npm 版本):
$ npm install -g react-native-cli
现在 运行宁 $ react-native run-ios
应该 运行 xcode 使用正确的版本! (如果没有,请确保重新启动 terminal/xcode 并重试)。
鉴于这是搜索此错误时 Google 中的最高结果,以下是唯一对我有用的结果。
我不得不卸载 node(之前是通过 Node 网站上的 pkg 安装的),卸载 nvm 并使用 Brew 重新安装 node。
Link 获取更多信息。
将您的节点路径添加到构建阶段/捆绑 React Native 代码和图像设置
Setting
我通过将 . ~/.nvm/nvm.sh
添加到构建阶段 shell 脚本的顶部来解决
对我来说,将此添加到 /etc/profile
或 ~/.profile
有效:
export NVM_DIR="$HOME/.nvm"
[ -s "/usr/local/opt/nvm/nvm.sh" ] && . "/usr/local/opt/nvm/nvm.sh"
这是必要的原因是因为 XCode 默认使用 /bin/sh
并且它从我指定的文件加载配置文件。
注意:更改 /etc/profile
需要您使用 sudo
。不确定这在 MacOS X 10.15 Catalina 上是否可行,因为我相信他们将系统目录设为只读,无论如何。但是如果你能在这里设置它,这将让它适用于任何安装了 nvm 的用户。
我是 React Native 的新手。我使用 react-native init XXX
创建了一个新项目。启动 xcodeproj 时,我收到一条错误消息:
const setupEnvScript = /^win/.test(process.platform)
^^^^^
SyntaxError: Use of const in strict mode.
at Module._compile (module.js:439:25)
at Module._extensions..js (module.js:474:10)
at Object.require.extensions.(anonymous function) [as .js] (/Users/allanhahaha/Documents/Seat/getseat/SeatApp/node_modules/react-native/node_modules/babel-core/lib/api/register/node.js:214:7)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/Users/allanhahaha/Documents/Seat/getseat/SeatApp/node_modules/react-native/cli.js:15:18)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
根据我的研究,这是一个 node.js 版本问题:我应该使用 v.4.0+。
我正在使用 NVM 来管理我的 node.js 版本。在 常规终端 window 中,我有这个:
$ node --version
v5.1.0
但在 xcode 中 运行 启动 shell 脚本时,我看到它使用了不同的版本,v0.10.40
,而 xcode 没有' 也知道 nvm
命令..
问题是,我应该如何配置我的 Mac 以便 xcode 可以选择我用 nvm 设置的相同版本?
谢谢!
更新:我试图在 xcode 执行的 shell 脚本中 source
我的 ~/.bash_profile
,但仍然没有解决问题。
我通过将 . ~\.bash_profile
添加到 shell 脚本的顶部解决了这个问题。
当您使用错误的 Node(以及 npm)版本安装 react-native-cli 时,似乎会出现此问题。
首先关闭xcode,让我们确保没有旧节点进程运行ning,我不确定是否有必要,但最好确保:
$ ps -e|grep node
$ kill {process number(s) here}
然后将默认的nvm节点版本设置为你想使用的版本,例如:
$ nvm alias default 6.6.0
然后重启你的终端,确保节点版本现在是你默认的版本:
$ node -v
v6.6.0
现在重新安装 react-native-cli 并激活新节点版本(它会影响 npm 版本):
$ npm install -g react-native-cli
现在 运行宁 $ react-native run-ios
应该 运行 xcode 使用正确的版本! (如果没有,请确保重新启动 terminal/xcode 并重试)。
鉴于这是搜索此错误时 Google 中的最高结果,以下是唯一对我有用的结果。
我不得不卸载 node(之前是通过 Node 网站上的 pkg 安装的),卸载 nvm 并使用 Brew 重新安装 node。
Link 获取更多信息。
将您的节点路径添加到构建阶段/捆绑 React Native 代码和图像设置
Setting
我通过将 . ~/.nvm/nvm.sh
添加到构建阶段 shell 脚本的顶部来解决
对我来说,将此添加到 /etc/profile
或 ~/.profile
有效:
export NVM_DIR="$HOME/.nvm"
[ -s "/usr/local/opt/nvm/nvm.sh" ] && . "/usr/local/opt/nvm/nvm.sh"
这是必要的原因是因为 XCode 默认使用 /bin/sh
并且它从我指定的文件加载配置文件。
注意:更改 /etc/profile
需要您使用 sudo
。不确定这在 MacOS X 10.15 Catalina 上是否可行,因为我相信他们将系统目录设为只读,无论如何。但是如果你能在这里设置它,这将让它适用于任何安装了 nvm 的用户。