"sudo npm start" 与 "npm start" 不同吗? C++ bson扩展
Is "sudo npm start" different from "npm start" ? C++ bson extension
我和很多 nodejs/mongodb/express 的人有同样的问题。
我在 virtual box 4.3.12 上使用 ubuntu 14.04。
Nodejs 是 v4.2.6 和 npm 2.4.12.
问题描述如下:Failed to load c++ bson extension
我确实设法排除了错误(通过确保我有构建必需品,删除 node_modules 并重新安装)。
但是,为此我必须输入 "sudo npm start"。
当我输入 "npm start" 时,我得到了可爱的 :
[Error: Module did not self-register.]
js-bson: Failed to load c++ bson extension, using pure JS version
我明白sudo是什么意思,但我不明白为什么会出错。
我已经与这个问题斗争了几个小时,我只是想确保错误确实消失了,而不是被 sudo 以某种方式隐藏起来。
(我是 linux 和 nodejs 的初学者,所以请原谅我的愚蠢问题)。
感谢您的宝贵时间。
很可能您安装了两个不同 "major" 版本的节点副本(例如 4.x 和 5.x,或 0.10 和 4.x,等等)。您可以通过比较 node -v
和 sudo node -v
.
的输出来验证这一点
很多时候 "major" 版本像这样更改,ABI 也会更改,这意味着节点插件需要使用 new/different 节点版本重新编译才能工作。
我和很多 nodejs/mongodb/express 的人有同样的问题。
我在 virtual box 4.3.12 上使用 ubuntu 14.04。 Nodejs 是 v4.2.6 和 npm 2.4.12.
问题描述如下:Failed to load c++ bson extension
我确实设法排除了错误(通过确保我有构建必需品,删除 node_modules 并重新安装)。
但是,为此我必须输入 "sudo npm start"。
当我输入 "npm start" 时,我得到了可爱的 :
[Error: Module did not self-register.]
js-bson: Failed to load c++ bson extension, using pure JS version
我明白sudo是什么意思,但我不明白为什么会出错。
我已经与这个问题斗争了几个小时,我只是想确保错误确实消失了,而不是被 sudo 以某种方式隐藏起来。 (我是 linux 和 nodejs 的初学者,所以请原谅我的愚蠢问题)。
感谢您的宝贵时间。
很可能您安装了两个不同 "major" 版本的节点副本(例如 4.x 和 5.x,或 0.10 和 4.x,等等)。您可以通过比较 node -v
和 sudo node -v
.
很多时候 "major" 版本像这样更改,ABI 也会更改,这意味着节点插件需要使用 new/different 节点版本重新编译才能工作。