2015-05-06 160 views
1

我必须在我的生产系统中设置节点环境。我在本地系统中安装了节点,之后我检查了版本node -v生产环境中的node.js

现在我使用sudo apt get install nodejs安装的节点在我的生产系统,现在我检查版本node -v什么都没有发生,但我用nodejs -v,其工作。

同样在我的本地系统中,我使用node filename.js来运行我的节点应用程序。但在我的生产系统中,我必须使用nodejs filename.js。我不知道为什么会发生这种情况?还有它是否会在我的制作中造成问题。请分享你的想法。

回答

1

这是更具体的linux问题。您可以创建符号链接来使用node而不是nodejs。命令示例如下:

sudo ln -sT $(which nodejs) /usr/local/bin/node 
+0

这只有在预先安装的节点的目录之前选中了'/ usr/local/bin'时才有效。关于我的头顶,我不确定它是什么。 –

+0

所有软件包二进制文件放在'/ usr/bin'中,所以碰撞的可能性很小。 – vanadium23

+0

@ vanadium23谢谢\t \t 谢谢。那么它不会造成问题吗?我的节点API运行在端口2500,当我使用curl命令curl -i -H“Content-Type:application/json”-X GET localhost:2500/xx/yy/zzz我收到来自服务器的空回复。你能否讨论你的想法为什么会发生? – Subburaj

1

这是因为您的Linux特定分布已经有一个node二进制文件。

你很可能不会将它用于任何事情。你有两个选择。

  1. 重命名预装node到别的东西,并重新命名nodejsnode
  2. 重命名nodejsnode但一定要调整你的$PATH,这样的node.js的目录预装之前加载node
+0

谢谢。那么它不会造成问题吗?我的节点API运行在端口2500,当我使用curl命令curl -i -H“Content-Type:application/json”-X GET http:// localhost:2500/xx/yy/zzz我收到空回复从服务器。你能否讨论你的想法为什么会发生? – Subburaj