"Permission Denied" 在 Linux 上的节点中,当 运行 start-script /w local nodemon/mocha/babel-node

"Permission Denied" in Node on Linux, when running start-script /w local nodemon/mocha/babel-node

我的新 linux 设置有问题 - 我已将 nodemon 安装为本地依赖项(不是全局),我正在尝试从我的 package.json "start"-脚本。我收到此权限错误。

node 本身效果很好,但一旦我尝试使用 babel-nodenodemon 甚至 mocha,我就会遇到权限问题。

我的设置分为 2 个硬盘驱动器 - 节点安装在我的 SSD 上(使用我的 OS)和我的项目(它是 node_modules,我试图在其中执行 nodemon 来自在我的存储硬盘上。

sh: 1: nodemon: Permission denied

npm ERR! Linux 3.19.0-56-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "start"
npm ERR! node v5.9.0
npm ERR! npm  v3.7.3
npm ERR! code ELIFECYCLE
npm ERR! vyggo-easyrtc@1.0.0 start: `nodemon --exec node entry`
npm ERR! Exit status 126
npm ERR! 
npm ERR! Failed at the vyggo-easyrtc@1.0.0 start script 'nodemon --exec node entry'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the vyggo-easyrtc package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     nodemon --exec node entry
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs vyggo-easyrtc
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls vyggo-easyrtc
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /media/goatic/HDD/Projects/Node/vyggo-easyrtc/npm-debug.log
goatic@goatic-laptop:/media/goatic/HDD/Projects/Node/vyggo-easyrtc$

我的辅助驱动器在权限方面与我的 linux OS 不兼容,因为它是 NTFS 分区。

我最终将所有内容都移到了我的主驱动器上,当然权限又恢复了,允许我执行本地依赖项。

我想我的问题的解决方案,如果我依靠将项目保存在辅助驱动器上,将其格式化为与 Linux 权限兼容的格式。

将我的项目从 NTFS 文件系统移动到 linux 后,我遇到了这个问题。我将所有 file/directory 权限更改为 644/755 并且还设置了 owner/group。那是我开始收到此错误的时间。

当我在终端中尝试 nodemon 时,我得到了 command not found。奇怪的。

重新安装 nodemon 修复了它:

sudo npm install -g nodemon

如果安装在 MAC 使用。

sudo npm install -g nodemon --unsafe-perm.

它会起作用。

我遇到了同样的问题。在我的情况下,当我将操作系统更改为 Linux Ubuntu,20.04.1 版本时,重新安装 nodemon 解决了问题。

Linux 用户:

sudo npm install -g nodemon 

对于 Windows 用户,打开一个新终端或 cmd 提示只需写:

npm install -g nodemon

有关详细信息,请查看 nodemon 文档:

nodemon documentation