解决 cross-env: command not found 错误
用于 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 技术交流群。
上一篇: JavaScript 问题集锦
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论