網站首頁 編程語言 正文
1.項目背景
meteor框架項目,用npm安裝的usb包。
因為要用到usb的功能。
這里涉及一些硬件的連接,所以有node-gyp的過程。
2.報錯原因
我用了npm install usb
命令來安裝usb包,所以錯了。
應該用meteor npm install usb
命令來安裝usb包才對。
**區別:**應該是安裝包的時候要結合meteor內部做了一些處理。所以要用meteor npm install usb
也可以簡寫成meteor npm i usb
3.報錯內容
node-gyp(node-generate your project)我的報錯如下
Error: The module ‘\?\D:\pratdemo\meteor_demo\meteor_upload_vue\node_modules\usb\build\Release\usb_bindings.node’
W20200401-09:34:06.239(8)? (STDERR) was compiled against a different Node.js version using
W20200401-09:34:06.241(8)? (STDERR) NODE_MODULE_VERSION 64. This version of Node.js requires
W20200401-09:34:06.241(8)? (STDERR) NODE_MODULE_VERSION 57. Please try re-compiling or re-installing
W20200401-09:34:06.242(8)? (STDERR) the module (for instance, usingnpm rebuild
ornpm install
).
W20200401-09:34:06.244(8)? (STDERR) at Object.Module._extensions…node (module.js:682:18)
W20200401-09:34:06.245(8)? (STDERR) at Module.load (module.js:566:32)
W20200401-09:34:06.245(8)? (STDERR) at tryModuleLoad (module.js:506:12)
W20200401-09:34:06.246(8)? (STDERR) at Function.Module._load (module.js:498:3)
W20200401-09:34:06.247(8)? (STDERR) at Module.require (module.js:597:17)
W20200401-09:34:06.248(8)? (STDERR) at require (internal/module.js:11:18)
W20200401-09:34:06.249(8)? (STDERR) at bindings (D:\pratdemo\meteor_demo\meteor_upload_vue\node_modules\bindings\bindings.js:112:48)
W20200401-09:34:06.251(8)? (STDERR) at Object. (D:\pratdemo\meteor_demo\meteor_upload_vue\node_modules\usb\usb.js:1:57)
W20200401-09:34:06.252(8)? (STDERR) at Module._compile (module.js:653:30)
W20200401-09:34:06.259(8)? (STDERR) at Object.Module._extensions…js (module.js:664:10)
W20200401-09:34:06.261(8)? (STDERR) at Module.load (module.js:566:32)
W20200401-09:34:06.261(8)? (STDERR) at tryModuleLoad (module.js:506:12)
W20200401-09:34:06.262(8)? (STDERR) at Function.Module._load (module.js:498:3)
W20200401-09:34:06.263(8)? (STDERR) at Module.require (module.js:597:17)
W20200401-09:34:06.265(8)? (STDERR) at require (internal/module.js:11:18)
W20200401-09:34:06.269(8)? (STDERR) at npmRequire (D:\pratdemo\meteor_demo\meteor_upload_vue.meteor\local\build\programs\server\npm-require.js:133:10)
從報錯的加粗內容中可以看到,該usb包在當前環境要求的是NODE_MODULE_VERSION 57這版本的包,而我安裝的卻是NODE_MODULE_VERSION 64所以錯了。
4.解決辦法
1.首先通過npm uninstall usb
卸載usb包,或者你也可以在node_modules里面找到usb文件夾整個刪除。
2.然后通過meteor npm install usb
安裝usb包,就正常了。這是官方推薦的安裝方式。
溫馨提示:該npm的usb包一定要通過meteor的server端引入和使用,然后通過前端觸發server端的方法就好,前端觸發server端的方法用到meteor的包cfs:http-methods
可以去這里搜索https://atmospherejs.com/?q=cfs%3Ahttp-methods。
npm的usb包在前端client直接引入會報錯的。除非你前端用nwjs引入也可能行。
5.總結
1.都怪自己自以為是:自以為npm i usb
和meteor npm i usb
安裝方式會是一樣的效果。好像運行的時候,也能安裝上usb包啊。但是會有微小的差別
如果該npm包只是前端的功能的,例如vue包,其實這兩個安裝方式應該都可以。
但如果涉及到后臺或者硬件方面,就只能用meteor npm i usb
來安裝了。因為usb包涉及到了硬件方面功能。(電腦usb接口)
2.npm的包,盡量在后臺server端引入和使用。var usb = require('usb')
3.npm的包,涉及到硬件方面的話,不要在前端引入,會報dll找不到的錯誤,如Error: A dynamic link library (DLL) initialization routine failed.
bindings.node報錯
好吧,關于meteor使用的心得,希望大家多多交流。
如有不懂,歡迎評論!
原文鏈接:https://blog.csdn.net/yuan_618859/article/details/105238763
相關推薦
- 2023-01-12 關于scipy.optimize函數使用及說明_python
- 2022-09-15 關于c++11與c風格路徑拼接的速度對比_C 語言
- 2022-05-21 Python實現歸一化算法詳情_python
- 2022-07-28 Android?EventBus粘性事件實現機制探究_Android
- 2022-06-21 C語言超全面講解函數的使用方法上_C 語言
- 2022-03-28 快速創建React項目并配置webpack_React
- 2022-09-24 opencv實現圖像傾斜校正_C 語言
- 2022-09-13 一文詳解C語言中文件相關函數的使用_C 語言
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支