【问题标题】:sublime text throwing python permission while running node js codesublime text 在运行节点 js 代码时抛出 python 权限
【发布时间】:2017-05-26 16:54:10
【问题描述】:
运行包含单行 console.log("test line"); 的节点 js 文件时出现以下错误代码。
Mac 操作系统
Traceback(最近一次调用最后一次):文件“./python3.3/threading.py”,
第 901 行,在 _bootstrap_inner 文件“Nodejs in
/Users/Vj/Library/Application Support/Sublime Text 3/已安装
Packages/Nodejs.sublime-package”,第 40 行,在运行文件“Nodejs in
/Users/Vj/Library/Application Support/Sublime Text 3/已安装
Packages/Nodejs.sublime-package”,第 28 行,在运行文件中
“./python3.3/subprocess.py”,第 819 行,在 init 文件中
“./python3.3/subprocess.py”,第 1448 行,在 _execute_child 中
PermissionError: [Errno 13] 权限被拒绝
提前感谢您的帮助。
【问题讨论】:
标签:
node.js
python-3.x
sublimetext3
【解决方案1】:
Sublime 无权执行节点。
更详细:Sublime 是在 python 中完成的,这就是为什么你会看到 python 堆栈跟踪。 subprocess.execute_child是pythons函数如何启动程序。而这个失败意味着python没有启动节点的权限。
重现问题
- 验证 sublime 是否正在使用您的用户运行(例如,使用 OSX
activity monitor)
- 打开一个外壳并输入
node /path/to/your/node/program.js。您应该遇到与 sublime 相同的问题(sublime 使用与控制台相同的 $PATH 设置来启动可执行文件)
解决问题
选择以下之一:
- 为您的用户修复节点可执行文件的权限
- 您可以修复您的
$PATH 变量,使其指向您拥有足够权限的节点可执行文件
- 您可以在 Preferences -> Package Settings -> Nodejs -> Settings User 中硬连线节点可执行文件的路径
对于最后一部分,您从 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
}
【解决方案2】:
刚刚安装nodejs plugin
我正在运行 Sublime Text Build 3126,
OS X 10.12.2
Nodejs版本安装6.9.2。
运行良好。