我在生产和开发上使用节点v4.4.4。我使用箭头功能。适用于我的开发机器,但不适用于生产。
/opt/node/backend/server.js:109
mongoose.model('cv').find({}, (err, cvs) =>{
^^
SyntaxError: Unexpected token =>
at exports.runInThisContext (vm.js:73:16)
at Module._compile (module.js:443:25)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Function.Module.runMain (module.js:501:10)
at startup (node.js:129:16)
at node.js:814:3
我在制作中运行debian 6,我的开发人员是mac(el captain)。
有什么不对?
更新
node --version
在生产和开发
我只能使用sudo node server.js
启动生产节点。如果我没有sudo
,我会segmentation fault
。
我用nvm在生产上安装了v4.4.4。我认为以前的版本是0.12。
更新2
sudo node --version
提供v0.12.2
我通过运行nvm install v4.4.4.
安装了v4我无法nvm
作为sudo
当我打开一个新终端node --version
时,也会提供v0.12.2
。
答案 0 :(得分:0)
我在prod中运行时遇到同样的问题,为所有用户可靠地获取相同节点版本(通过NVM安装)的唯一方法是运行:
n=$(which node);n=${n%/bin/node}; chmod -R 755 $n/bin/*; sudo cp -r $n/{bin,lib,share} /usr/local
这基本上确保每个使用节点的用户都会找到你复制的版本。如果需要更新节点,请使用nvm安装并再次运行该命令。
感谢: