运行节点js代码时抛出python权限的sublime文本

时间:2017-01-11 18:59:57

标签: node.js python-3.x sublimetext3

运行包含单行console.log(“test line”)的节点js文件时,我遇到了以下错误;代码。

Mac OS

  

Traceback(最近一次调用最后一次):文件“./python3.3/threading.py”,   第901行,在_bootstrap_inner文件中“Nodejs in   / Users / Vj / Library / Application Support / Sublime Text 3 / Installed   Packages / Nodejs.sublime-package“,第40行,在运行文件中”Nodejs in   / Users / Vj / Library / Application Support / Sublime Text 3 / Installed   Packages / Nodejs.sublime-package“,第28行,在运行文件中   “./python3.3/subprocess.py”,第819行,在 init 文件中   “./python3.3/subprocess.py”,第1448行,在_execute_child中   PermissionError:[Errno 13]权限被拒绝

Thanx提前为您提供帮助。

2 个答案:

答案 0 :(得分:0)

Sublime无权执行节点。

更详细:Sublime是在python中完成的,这就是你看到python堆栈跟踪的原因。 subprocess.execute_child是pythons函数如何启动程序。这种失败意味着python无权启动节点。

重现问题

  • 验证sublime是否正在使用您的用户运行(例如使用OSX activity monitor
  • 打开一个shell并输入node /path/to/your/node/program.js。您应该遇到与sublime相同的问题(sublime使用与控制台相同的$PATH设置来启动可执行文件)

解决问题

选择以下其中一项:

  • 修复用户可执行节点的权限
  • 您可以修复$PATH变量,将其指向您拥有足够权限的节点可执行文件
  • 您可以在首选项 - >中硬连接节点可执行文件的路径;包装设置 - > Nodejs - >设置用户

对于最后一部分,您从Settings - Default的“设置”中复制粘贴设置并更改相关位。这就是我目前在Settings - Default中所拥有的:

{
  // save before running commands
  "save_first": true,
  // if present, use this command instead of plain "node"
  // e.g. "/usr/bin/node" or "C:\bin\node.exe"
  "node_command": false,
  // Same for NPM command
  "npm_command": false,
  // as 'NODE_PATH' environment variable for node runtime
  "node_path": false,

  "expert_mode": false,

  "ouput_to_new_tab": false
}

答案 1 :(得分:-1)

刚刚安装了nodejs plugin

我正在运行Sublime Text Build 3126, OS X 10.12.2

安装了Nodejs版本6.9.2。

运作良好。