错误现象
在windows或者Linux系统中安装visual studio code之后,在终端中直接执行code . 命令即可打开当前文件夹。Mac系统安装vscode之后,在终端执行code 提示zsh: command not found: code
原因分析
在mac安装vscode时没有将code 命令添加在环境变量中
解决方案
- 打开vscode
- 使用快捷键 command+shift+p
- 输入shell command,选择shell 命令:在PATH中安装code命令
- vscode 弹窗代码将通过 “osascript” 提示需要管理员权限才可安装 shell 命令。点击确定
- 输入管理员密码
- 提示code 命令已经成功安装在PATH中。
完成以上步骤,在终端中输入code 即可直接打开vscode。
错误现象
今天在mac电脑的终端中无法初始化项目,查看日志发现项目依赖github资源,终端访问github网络资源时超时。报错如下:
ERROR Error: Failed to download template from registry: request to https://raw.githubusercontent.com/xxx/xxxx/xxx.json
原因分析
身处国内网络环境,在开发过程中会遇到访问github资源或者谷歌等时会遇到网络问题。大部份网络工具(懂的都懂)只能在浏览器中代理网络,但是对于终端的网络请求是无法进行代理转发。所以只需要让终端网络也走代理即可。
解决方案
方法一(推荐)
在终端中直接运行:
export http_proxy=http://proxyip:port
例如我的http的代理地址是本机ip 127.0.0.1 端口是8999,可以使用如下命令:
export http_proxy=http://127.0.0.1:8999
如果是https那么就经过如下命令:
export https_proxy=http://127.0.0.1:8999
现在的网络环境大部份是https 所以通常只用设置https即可,当然也可以两个都设置。
方法二
把代理服务器地址写入shell配置文件.bashrc 直接在.bashrc添加以下内容:
export http_proxy="http://proxyip:port"
export https_proxy="http://proxyip:port"
如果走的是socks5代理,配置如下:
export http_proxy="socks5://proxyip:port"
export https_proxy="socks5://proxyip:port"
写入文件保存后执行以下命令或者重新打开终端即可生效
source ~/.bashrc
方法一、二区别
方法一优点是仅对当前打开的终端会话有效,关闭终端之后配置失效,针对临时场景可以选择此方法。缺点是下次如果需要配置代理,需要重复方法一
方法二优点是永久生效,无需重复配置。缺点是如果不常用终端代理或者代理经常变动如果忘记修改文件导致终端无法上网。遇到很多客户说终端无法上网,原因就是上一个使用服务器的人配置了永久代理,而代理失效了。
问题描述
经常遇到一些客户使用finalshell 连接Linux服务器,在切换到root文件夹时没有反应。原因是使用非root用户进行ssh连接造成没有访问权限,即使使用sudo su - 或者sudo -i 切换到root用户之后finalshell的文件传输登录用户是没有切换到root的,所以需要使用root用户登录。往往服务器服务商如果给的ssh连接信息是非root用户就会出现此类情况。
解决方案
一、登录切换root用户
使用服务商提供的非root用户连接服务器,并使用sudo -i 或者sudo su - 切换到root用户
二、配置root密码
设置root密码,执行命令passwd 然后进行输入root密码,此时输入时注意密码是不显示的,所以直接输入即可,输完之后回车,然后重新输入一遍密码回车,如果出现 updated successfully 字样说明root密码设置成功。
三、修改配置文件
修改ssh配置文件,有两种方法修改。
方法一、熟悉vim操作的同学可以直接用vim编辑进行修改,vim /etc/ssh/sshd_config 找到 #PermitRootLogin prohibit-password 改成 PermitRootLogin yes找到 PasswordAuthentication no 改成 PasswordAuthentication yes 保存修改。
方法二、对于Linux或者vim不熟悉的同学依次执行以下两条命令即可
sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/g' /etc/ssh/sshd_config
sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config
四、重启sshd服务
执行命令service sshd restart 即可完成允许root连接ssh。
五、重新连接
使用finalshell并使用root用户重新连接服务器即可。