开玩笑:命令未找到错误[已解决]

目录

jest: command not found error [Solved]

  1. 开玩笑:命令未找到错误
  2. “jest”不被识别为内部或外部命令

开玩笑:命令未找到错误

用于npx解决错误“jest:找不到命令”,例如npx jest或通过运行全局安装包npm install -g jest以便能够使用不带npx前缀的命令。

没找到命令开玩笑

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

npx jest npx jest --version

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

# 👇️ installs jest globally (can run from any directory) npm install -g jest # 👇️ (better) installs jest locally to the project (must be run from root directory) npm install --save-dev jest

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

scripts您还可以在文件对象中使用测试命令创建脚本package.json

包.json
{ "scripts": { "test": "jest" } }

现在您将运行该命令,npm run test而不是jest直接使用。

如果您决定全局安装 jest 并且全局安装失败,您可能必须运行前缀为 的命令sudo
# 👇️ if you got permissions error sudo npm install -g jest

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

npm link jest

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

如果错误未解决,请尝试重新启动终端。

更新 macOS 或 Linux 上的 PATH 环境变量

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

npm config get prefix

npm该命令将显示全局安装的软件包的路径。全局包将位于bin指定路径的目录中。

查看操作系统上的 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

如果您使用的是 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,然后
jest通过运行 进行全局安装npm install -g jest

安装过程中,可能会提示您是否要自动更新系统上的 PATH 环境变量,请务必勾选该选项。
# 👇️ installs jest globally (can run from any directory) npm install -g jest # 👇️ installs jest locally to the project (must be run from root directory) npm install --save-dev jest
如果全局安装jest失败,您可能必须运行前缀为 的命令sudo
# 👇️ if you got permissions error sudo npm install -g jest jest --version

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

‘jest’ 不被识别为内部或外部命令

用于npx解决错误“‘jest’未被识别为内部或外部命令、可操作程序或批处理文件”,例如npx jest或通过运行全局安装包npm install -g jest并确保 PATH 环境变量设置正确。

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

npx jest npx jest --version

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

# 👇️ installs jest globally (can run from any directory) npm install -g jest # 👇️ (better) installs jest locally to the project (must be run from root directory) npm install --save-dev jest

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

scripts您可以使用文件对象
中的测试命令创建脚本
package.json

包.json
{ "scripts": { "test": "jest" } }

现在您将运行该命令,npm run test而不是jest直接使用。

如果您决定全局安装 jest 并且全局安装失败,则必须以管理员身份打开 shell 并重新运行该命令。
npm install -g jest

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

npm link jest

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

如果错误未解决,请尝试重新启动终端。

在 Windows 上更新 PATH 环境变量

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

npm config get prefix

npm该命令将显示全局安装的软件包的路径。全局包将位于bin指定路径的目录中。

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

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

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

要更新 Windows 计算机上的 PATH,您必须:

  1. 打开开始搜索并输入env然后点击“编辑系统环境变量”
  2. 然后点击“环境变量”
  3. 编辑Path变量并添加从命令获得的输出
    npm config get prefix

路径应如下所示C:\Users\Your_User_Name\AppData\Roaming\npm(确保将Your_User_name占位符替换为您的实际用户名)。

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

如果出现错误“无法加载 jest,因为此系统上禁用了运行脚本”,请以管理员身份打开 PowerShell,并使用
Set-ExecutionPolicy
命令设置其执行策略。

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
在运行命令之前,请确保以管理员身份打开 PowerShell Set-ExecutionPolicy

这有效地删除了 的执行策略Restricted,它不允许我们加载配置文件或运行脚本。执行Restricted策略是 Windows 客户端计算机的默认策略。

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

如果这没有帮助,请尝试在您的计算机上重新安装 Node.jsnpm install -g jest ,然后通过运行 全局安装 jest 。

安装过程中,可能会提示您是否要自动更新系统上的 PATH 环境变量,请务必勾选该选项。
# 👇️ installs jest globally (can run from any directory) npm install -g jest # 👇️ installs jest locally to the project (must be run from root directory) npm install --save-dev jest
如果全局安装jest失败,您必须以管理员身份打开 shell 并重新运行命令。

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

额外资源

您可以通过查看以下教程了解有关相关主题的更多信息: