- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
你好 V8 程序员和 node-gyp'ers。我正在运行 OS X 10.12.6
、Node v6.11.1
和 npm v3.10.10
、nan v2.6.2
,gcc
作为 XCode 的一部分,具有此版本输出:
$ > gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 8.1.0 (clang-802.0.42)
Target: x86_64-apple-darwin16.7.0
Thread model: posix
请帮助我了解如何在自定义包安装的 npm install
或 node-gyp rebuild
过程中正确使用 NewInstance 并消除警告?
> node-gyp rebuild
CXX(target) Release/obj.target/cellcrypt/src/cellcrypt.o
CC(target) Release/obj.target/cellcrypt/src/decode.o
CXX(target) Release/obj.target/cellcrypt/src/DecryptionWrapper.o
../src/DecryptionWrapper.cpp:55:44: warning: 'NewInstance' is deprecated [-Wdeprecated-declarations]
v8::Local<v8::Object> instance = cons->NewInstance();
^
/Users/sjcbsolo/.node-gyp/6.11.1/include/node/v8.h:3276:52: note: 'NewInstance' has been explicitly marked deprecated here
V8_DEPRECATED("Use maybe version", Local<Object> NewInstance() const);
^
1 warning generated.
CC(target) Release/obj.target/cellcrypt/src/Encryption.o
SOLINK_MODULE(target) Release/cellcrypt.node
clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9 [-Wdeprecated]
如果不需要,我不想看到这些警告。我在 github 上找到了一张公开票通过要求调用 NewInstance 的方式来详细说明对另一个插件包的修复:
info.GetReturnValue().Set(cons->NewInstance(argc, argv));
info.GetReturnValue().Set(Nan::NewInstance(cons, argc, argv).ToLocalChecked());
实现 Nan::NewInstance()
而不会过多影响速度和效率的最佳方法是什么?
最佳答案
错误消息本身为您提供了答案的简短形式:“可能使用版本”。它试图告诉您有一个重载版本的 NewInstance
返回一个 MaybeLocal
(而不是一个 Local
),这就是您应该做的使用。
背景是大多数操作都可能失败,通常是在抛出异常时。旧的 V8 API 使嵌入者相对难以确定他们在所有相关位置检查异常;因此引入了一个基于 MaybeLocal
返回类型的新 API。每当你得到一个 MaybeLocal
时,你应该检查它是否真的包含一个值。如果您只是使用 .ToLocalChecked
(无需首先手动检查),这意味着您愿意在出现故障时简单地崩溃(如果您可以保证不会出现任何故障,这很好)。从好的方面来说,这并不比您的代码显然一直在做的事情更糟 ;-)
关于javascript - 如何消除 "' NewInstance' is deprecated"warning in `node-gyp rebuild`?v8 中 NewInstance 的替代方案是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45388032/
这个问题在这里已经有了答案: How to declare or mark a Java method as deprecated? (6 个回答) 关闭8年前。 我可以使用 @Deprecated
我要使用的代码: window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED) 有FLAG_SHOW_WHEN_LOCKED在 A
这个问题已经有答案了: Can I mix MySQL APIs in PHP? (4 个回答) Why shouldn't I use mysql_* functions in PHP? (14 个
我在我的网站上看到以下消息,我该怎么办? Deprecated: Function eregi() is deprecated in D:\wamp\www\cidoc.gov.mz\modules\
我正在弃用一组 Java 类,以便不再使用它们。我不想关闭不推荐使用的编译器警告,但我发现如果我的一个不推荐使用的类导入另一个不推荐使用的类,我也会收到警告。我不想修改我不赞成使用的代码,但我也不想在
这个问题在这里已经有了答案: How to use Ansible's with_item with a variable? (1 个回答) 3年前关闭。 我认为这是产生错误的剧本的一部分。我应该如何
在我的 Eclipse Indigo 中,只有 @Deprecated 有效,但 @deprecated 在评论中无效,知道吗? 例如 // @deprecated <-- not work @Dep
This question already has answers here: How can I convert ereg expressions to preg in PHP? (4个答案) 去年
我正在将代码从以前版本的 Swift 更改为 Swift5。并且有一条警告消息表明此代码不可用。我想更改此代码,但不知道如何更改。 警告代码 func pbkdf2(hash: CCPBKDFAlg
我正在开发使用 Game Center 的游戏,但我收到了下一个警告; ... 'authenticateWithCompletionHandler:' 已弃用:首先在 iOS 6.0 中弃用 好的,
您好,我在错误日志中收到此错误: "PHP 已弃用:自动填充 $HTTP_RAW_POST_DATA 已弃用,并将在未来版本中删除。为避免此警告,请在 php.ini 中将 'always_popul
您好,我在错误日志中收到此错误: "PHP 已弃用:自动填充 $HTTP_RAW_POST_DATA 已弃用,并将在未来版本中删除。为避免此警告,请在 php.ini 中将 'always_popul
CC_MD5 已在 ios14 中弃用,但我的项目至少支持 ios14。我仍然需要 MD5。我应该怎么办?我使用的开发语言是OC 最佳答案 MD5 已被弃用,因为它是一种有缺陷、不安全的算法。如果可以
我在 Xcode 上的这个条目上有以下问题: CLRegion *pushRegion = [[CLRegion alloc] initCircularRegionWithCenter:coordin
所以我有一个代码可以开始录制音频并不断收到上述警告消息。有帮助吗? - (IBAction)recordStart:(id)sender { AVAudioSession *recSessio
我制作了这个返回文档目录中文件大小的函数,它可以工作,但我得到警告,我想修复,函数: -(unsigned long long int)getFileSize:(NSString*)path { NS
我收到警告: >typings ls typings WARN deprecated 2016-08-05: "registry:dt/react#0.14.0+20160423065914" is
问题的表述有点奇怪,但我想要的是 Rspec 中 stub! 的替代方案,它不会产生弃用警告。 场景: 我使用 stub! 在我的帮助程序规范中对某些帮助程序方法进行 stub 。 例如 stub!(
最近我将我的 Rails 版本从 3.2 迁移到 4.2.6,同时我修改了一些 gem,例如回形针 2.3 到 4.3.6。当我运行 rails server 时,我得到以下弃用: DEPRECATI
My Goal: To fix this error and be able to run my app without an error. Error Message: Note:D:\Learni
我是一名优秀的程序员,十分优秀!