运行snowpack init报错zsh: command not found: snowpack原因排查
问题原因
- 你仅将Snowpack作为项目本地依赖安装在了
devDependencies中,并未全局安装Snowpack,终端默认的全局PATH路径中不存在Snowpack的可执行文件,因此直接运行全局调用命令会触发找不到命令的报错。 - 项目本地的Snowpack可执行文件默认存放于
./node_modules/.bin目录下,该目录默认不会加入终端的全局PATH,因此无法直接全局调用。
解决方案
以下三种方案任选其一即可,优先推荐前两种,可避免多项目版本冲突问题:
- 方案1:使用npx调用本地依赖
直接执行命令:npx snowpack init
npx会自动检索项目本地node_modules/.bin目录下的可执行文件,无需额外配置即可正常执行。 - 方案2:通过package.json脚本调用
在你现有的package.json的scripts字段中新增init配置:
之后执行"scripts": { "start": "snowpack dev --port 3000", "build": "snowpack build", "init": "snowpack init" }npm run init或者yarn run init即可,包管理工具执行脚本时会临时将./node_modules/.bin加入PATH,可正常识别Snowpack命令。 - 方案3:全局安装Snowpack(不推荐)
执行全局安装命令即可全局调用Snowpack:
npm用户执行:npm install -g snowpack
yarn用户执行:yarn global add snowpack
该方案可能导致不同项目依赖的Snowpack版本冲突,非必要不建议使用。
补充:如果你仅需要生成Snowpack配置文件,也可以手动在项目根目录创建
snowpack.config.js自定义配置,无需执行init命令。
内容的提问来源于stack exchange,提问作者Neo
相关产品推荐
相关产品推荐

