- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
这些类型的问题一毛钱一打,我查阅了一个又一个资源,但似乎没有任何效果:
事情是这样的,我是 NodeJS 和 Aurelia 的新手,但我的经验是,随着最近的前端革命及其所有工具的出现,人们真的让事情看起来非常简单。我敢肯定我们都见过类似这样的命令:“只需运行 do my-work-for-me
,您的项目就完成了!”
以 Aurelia guide 为例.导航到工作目录后,您需要做的就是运行:
npm 安装
嗯,不。 npm install
依赖于 node-gyp
,您必须手动安装它。嗯,你不能在安装 Python 之前安装 node-gyp
。但不要获取最新版本,因为不支持 > 3.x。安装后,您会遇到 node-gyp
所需的 C++ 编译器问题。所以我们安装 Microsoft VS 2012 来获取编译器。
我做了什么:
将PYTHON设置为环境变量
C:\Users\[name]>py
Python 2.7.10 (default, May 23 2015, 09:44:00) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
在 npm 中设置适用的 VS 版本,由 getter 证明:
C:\Users\[name]>npm config get msvs_version
2012
也就是说,当我尝试从应用程序的目标目录运行 npm install
时,我仍然遇到以下错误:
gyp ERR! build error
gyp ERR! stack Error: `C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe` failed with exit c
ode: 1
gyp ERR! stack at ChildProcess.onExit (C:\Program Files\nodejs\node_modules\npm\node_modules\nod
e-gyp\lib\build.js:270:23)
gyp ERR! stack at emitTwo (events.js:88:13)
gyp ERR! stack at ChildProcess.emit (events.js:173:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:201:12)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm
\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\_workspaces\skeleton-navigation-1.0.0-beta.1.0.2\node_modules\utf-8-validate
gyp ERR! node -v v5.2.0
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok
npm WARN install:utf-8-validate@1.2.1 utf-8-validate@1.2.1 install: `node-gyp rebuild`
npm WARN install:utf-8-validate@1.2.1 Exit status 1
最佳答案
我真的、真的不喜欢回答我自己的问题,但我可以通过以下步骤解决这个问题:
npm
此时,我应该能够针对 Aurelia 目录运行 npm install
,但是由于问题描述中指出的错误,我仍然失败了。
通过发出命令明确告诉 npm
使用 Microsoft Studio 2013:
npm config set msvs_version 2013 --global
现在,执行此命令后,我能够成功执行 npm install
,没有任何 GYP
错误。
我不知道为什么,但无论出于何种原因,node-gyp
似乎在 2012 年表现不佳,所以如果您遇到这个问题,我会选择 2013 年,实际上在此处引用:https://github.com/nodejs/node-gyp
关于javascript - 奥里利亚 npm 安装 : tons of "gyp ERR",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34299987/
我对 gyp 完全陌生,所以请原谅我对这个主题的任何无知——我正在尝试将一个使用 gyp 的项目合并到由 make 生成的更大环境中。有问题的 .gyp 文件有一个用于 C 文件的 -L 选项,它指向
我是第一次使用gyp,我已经阅读了它的在线帮助。我已经在命令行上的导出变量中使用 CC 选项设置了编译器(在 Windows 中使用 cygwin)。因此,所有文件都可以正确编译。现在,我想使用不同的
当node-gyp本身安装在/usr/bin/node-gyp中时,为什么它在绝对路径中寻找node-gyp.js?如果我这样做 find /usr -name node-gyp.js 结果是 /us
是否可以定义一个 GYP 变量,其值取决于构建配置的选择? 最佳答案 只需使用变量 $(BUILDTYPE)或 $(ConfigurationName) . 关于node-gyp - 基于构建配置的
在 Windows 10 v1903 上运行 npm 6.11.3、node-gyp 5.0.3、VS2019,出现此错误: 找不到模块 %AppData%\npm\node_modules\node
我在写 binding.gyp我的新 node.js 模块的文件。我的所有源文件都在 src/ 下子目录。我想在构建模块时使用所有这些。我不想每次添加新的 cpp 文件时都修改 binding.gyp
我希望看到在构建节点绑定(bind)时使用编译器和链接器标志。我怎样才能让node-gyp build在详细模式下运行来实现这一点。 (类似于 cmake 的 make VERBOSE=1) 最佳答案
node-gyp --help说: Usage: node-gyp [options] where is one of: - build - Invokes `make` and builds
我正在开发一个大node.js项目还包括几个 native 库。 为了在 JavaScript 中使用这些库,我使用 node-gyp 将它们编译为 Node 插件 (.node)。 。 我想运行no
我正在使用 node-gyp,我想在我的 binding.gyp 中使用环境变量的值文件。 这是困难的方式(列表上下文): '
我想用/MD 标志(多线程 DLL)编译一个 node.js 模块。 在 binding.gyp 的 cflags 选项中包含“/MD”不起作用。 最佳答案 在玩了 binding.gyp 之后 -
我正在尝试启动有关 Node C/C++ 附加组件的内容。 node-gyp 命令出错 我已经安装了vs2019,我的命令是 node-gyp configure --msvs_version=201
我整天都在做这件事,并尝试了很多不同的事情: 卸载 Node 并安装最新版本 使用 --msvs_version= 标志设置为 2010, 2011, 2012, 2013, 2015 删除 .nod
我正在尝试为 Node js 构建 hello world C++ 插件。 Node.js 和 Node-gyp 似乎都已成功安装到 Redhat Linux 中。但是,当我运行“node-gyp c
我在 ubuntu 14.04 和 node 8.0.0 下使用 NPM。 我已将我的 npm 从 5.2.0 升级到 5.6.0 但是在那之后所有的 npm 命令都失败了,说明有问题: node-g
我在 CentOS 6.8 上进行 node-gyp 重建时遇到错误: File "/usr/local/lib/node_modules/node-gyp/gyp/pylib/gyp/input.p
我正在为 nodejs 编写一个 C 插件,我可以毫无问题地使用 node-waf 编译和创建我的模块。但是我需要使用 node-gyp,当我尝试使用 node-gyp build 构建模块时,出现以
我有一个简单的 binding.gyp 文件来构建我的 node.js 扩展。我想改变库“mylib”的链接方法,静态链接而不是使用共享库。 { "targets": [ {
我正在尝试使用 npm 安装我的依赖项,但是当安装 firebase 时安装失败。我尝试使用 npm i firebase 单独安装 firebase但它不起作用。我删除了 node_modules
我正在创建 Angular 项目并使用 Express.js 作为后端,使用 SQLite3 作为数据库。当我通过命令 npm install sqlite3 安装 sqlite3 时,我在控制台中收
我是一名优秀的程序员,十分优秀!