sh: 1: vite: 权限被拒绝

10

我一直在尝试在我的应用程序中使用pusher。 在我创建PusherFactory之后,我开始收到如屏幕截图所示的错误。 但是,我一直收到错误undefined type Pusher\Pusher。 因此,我尝试使用以下命令安装pusher:composer require pusher\pusher-php-server

在所有这些操作之后,当我尝试运行npm install && npm run dev时,我现在得到了这个错误:

> dev
> vite

sh: 1: vite: Permission denied
patrick@patrick-nthiwa:~/Music/primecrm/prime$ sudo npm run dev
[sudo] password for patrick: 

*
sh: 1: vite: Permission denied*

1
可能的根本原因是您在创建vite时使用了sudo(也是); 您需要了解sudo的作用。基本上,永远不要在您的主目录中使用它来创建文件或目录,否则这些文件或目录最终将不属于您。 - tripleee
6个回答

39
一个简单的重新安装软件包就解决了我的问题。
rm -rf node_modules/
npm install

谢谢!这对我的Qwik项目有帮助。 - Luis José Sánchez

14
这对我在MacBook上有效:
sudo chmod +x node_modules/.bin/vite

1
使用命令全局安装vite成功:
npm install -g vite

好的回答,而且它有效。 - undefined

0
如果你使用的是Mac电脑,你应该先卸载Node,然后重新安装它。我遇到过同样的问题,在卸载Node之后问题得到了解决。
使用Homebrew:
brew install node

0
我已经尝试了几种可能的解决方案,但都没有成功。 我目前在WSL上使用NVM来管理nodejs和npm。 我的GIT安装在WSL上而不是Windows上。
以下是对我有效的步骤:
1. 更新GIT,然后更新WSL上已安装的任何Linux发行版软件包。在我的情况下,是Ubuntu。
$ sudo add-apt-repository ppa:git-core/ppa
$ sudo apt update && sudo apt upgrade

更新nodejs版本,从nvm升级到最新的稳定版本(今天是:nodejs 18.17.1和npm 9.6.7)。
$ nvm install --lts

在你的项目文件夹中,更改Node的版本,以使用新安装的版本(在我的情况下,这不会影响我的项目,但如果你评估一下会很好)。
$ nvm use --lts

从你的项目中删除 node_modules 文件夹,并在其中重新安装 npm(也许在重新安装 npm 之前你应该关闭控制台)。
$ rm -r node_modules
$ npm install

重新运行开发服务器。

-2

这就是我最终做的,而且它起作用了。

1.) 我使用以下命令安装了 node 脚本:

npm install react-scripts --save

2.) 然后更新composer:
composer update

3.) 然后我安装了npm。
npm install

4.) 运行开发命令:
npm run dev

composernpm是两个不同的环境,它们之间没有任何关联:前者是PHP的依赖管理器,而后者是Node.js的包管理器。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接