如何以sudo root身份启动Yarn?sudo yarn dev报错求助
解决sudo yarn dev报错"找不到dev"的可行方案
确认执行目录与脚本有效性
确保在项目根目录执行命令,yarn需要读取当前目录package.json中的scripts配置。若无法切换目录,可指定项目绝对路径:sudo yarn --cwd /你的项目绝对路径 dev同时检查
package.json的scripts字段是否正确配置:"scripts": { "dev": "nest start --watch" }指定yarn绝对路径执行
sudo的环境PATH可能和普通用户不一致,导致找不到正确的yarn可执行文件。先查询普通用户的yarn路径:which yarn得到路径后(比如
/usr/local/bin/yarn),用sudo执行绝对路径的yarn:sudo /usr/local/bin/yarn dev避免直接用sudo运行(更推荐)
sudo运行会改变用户上下文,容易引发权限问题。可通过调整项目权限+端口工具解决:- 给项目目录赋予当前用户权限:
sudo chown -R $USER:$USER /你的项目绝对路径 - 如果服务需要监听低端口(如80/443),使用
authbind转发端口(需先安装authbind):sudo touch /etc/authbind/byport/80 sudo chown $USER /etc/authbind/byport/80 sudo chmod 755 /etc/authbind/byport/80 # 启动服务 authbind --deep yarn dev
- 给项目目录赋予当前用户权限:
保留用户环境变量执行
sudo默认会重置环境变量,使用-E参数保留当前用户的环境配置(包括PATH、yarn配置):sudo -E yarn dev
内容的提问来源于stack exchange,提问作者Venden
相关产品推荐
相关产品推荐

