解决 cross-env: command not found 错误

发布于 2022-05-05 21:15:07 字数 4078 浏览 2665 评论 0

用于 npx 解决错误 cross-env: command not found,例如 npx cross-env NODE_ENV=production webpack --config build/webpack.config.js 或者通过运行全局安装包, npm install -g cross-env 以便能够使用不带 npx 前缀的命令。

解决错误的最快方法是使用 npx 命令。

# prefix with npx
npx cross-env NODE_ENV=production webpack --config build/webpack.config.js

或者,您可以全局安装 cross-env 或作为开发依赖项。

# installs cross-env globally (can run from any directory)
npm install -g cross-env

# (better) installs cross-env locally to the project (must be ran from root directory)
npm install --save-dev cross-env

作为开发依赖安装的好处 cross-env 是您可以控制 package.json 文件中包的版本。

您还可以在文件 scripts 对象中创建命令 package.json

package.json

{
  "scripts": {
      "build": "cross-env NODE_ENV=production webpack --config build/webpack.config.js"
  }
}

这是有效的,因为 npm cross-env 将从您的 node_modules 目录解析,因为您运行了 npm install --save-dev cross-env .

现在您将命令作为 运行 npm run build ,而不是 cross-env 直接使用。

如果您决定 cross-env 全局安装并且安装失败,您可能必须运行以 . 为前缀的命令 sudo

# if you get permissions error
sudo npm install -g cross-env

cross-env 您可以通过在项目的根目录( package.json 文件所在的位置)中打开终端并运行 npm link cross-env 命令,将项目链接到全局安装的包。

npm link cross-env

npm link 命令创建一个从全局安装的包到 node_modules/ 当前文件夹目录的符号链接。

如果未解决 cross-env: command not found 错误,请尝试重新启动终端。

如果这没有帮助,请运行以下命令:

npm config get prefix

查看操作系统上的 PATH 环境变量,并添加 npm config get prefix 命令输出的路径(如果尚不存在)。

如果将命令的输出添加到 PATH 环境变量中,则必须重新启动任何打开的命令提示符才能生效。

如果这不起作用,请尝试将 bin 文件夹的路径(从 npm config get prefix )添加到您的 PATH 环境变量并重新启动您的终端。

例如,在 macOS 上,您可以使用以下命令更新路径:

# make sure path matches with npm config get prefix
export PATH=/usr/local/share/npm/bin:$PATH

在 Windows 上, npm config get prefix 命令的输出将类似于: C:\Users\Your_User_Name\AppData\Roaming\npm .

编辑您机器上的环境变量并添加指定的路径(用您的用户名替换占位符)。

如果您使用的是 linux,则可以将 npm config get prefix 命令的输出添加到您的 .bashrc 文件中。

~/.bashrc

# make sure to update the path with the output
# from the command
export PATH="/usr/local/share/npm/bin:$PATH"

如果将命令的输出添加到 PATH 环境变量中,则必须重新启动任何打开的命令提示符才能生效。

如果这没有帮助,请尝试在您的机器上重新安装 Node.js,然后 cross-env 通过运行全局安装 npm install -g cross-env@latest .

在安装过程中,您可能会收到是否要自动更新系统上的 PATH 环境变量的提示,请务必勾选该选项。

# installs cross-env globally (can run from any directory)
npm install -g cross-env

如果全局安装 cross-env 失败,您可能必须运行以 . 为前缀的命令 sudo

# if you get permissions error
sudo npm install -g cross-env

或者,您可以在官方 npm 文档 中查看如何修复此页面上的权限错误 。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84960 人气
更多

推荐作者

烙印

文章 0 评论 0

singlesman

文章 0 评论 0

独孤求败

文章 0 评论 0

晨钟暮鼓

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文