npm WARN checkPermissions 缺少对 /usr/local/lib/node_modules 的写入权限
npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules
注意:出于安全考虑,请不要使用标记的解决方案,而是 !
原题:
我正在尝试使用此命令安装 monaca。
npm install -g monaca
但是在收到这些错误之后:
npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules
npm ERR! path /usr/local/lib/node_modules
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
npm ERR! { Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
npm ERR! stack: 'Error: EACCES: permission denied, access \'/usr/local/lib/node_modules\'',
npm ERR! errno: -13, npm ERR! code: 'EACCES',
npm ERR! syscall: 'access',
npm ERR! path: '/usr/local/lib/node_modules' }
知道如何解决这个问题吗?
谢谢
解决此问题的不明智方法是使用 sudo:
sudo npm install -g monaca
然而,最好找到不使用 sudo 的解决方法。
注意:强烈建议避免将 sudo
与 npm 一起使用!
不推荐使用 sudo。稍后可能会给您权限问题。虽然上述方法有效,但使用 永久解决您的问题。
安装 npm 后将以下行添加到 ~/.bashrc:
npm set prefix ~/.npm
PATH="$HOME/.npm/bin:$PATH"
PATH="./node_modules/.bin:$PATH"
更改后执行以下行:
source ~/.bashrc
并且如@contemplator 所述,避免使用 sudo
好吧,我使用 --save-dev
并没有全局安装它或使用 -g
,主要问题发生在您希望它写入默认 node_modules
文件夹时。
在检查多个问题 4 小时后,它解决了我的问题。
我什至建议您使用 npm init
并制作一个 package.json
以进行更好的依赖性检查,然后再 run npm
安装。这个视频可以帮助你 https://www.youtube.com/watch?v=rTsz09zRuTU
很简单
你可以使用
sudo npm install -g kazam
或
su -
然后
npm install -g kazam
解释
su -
让你成为root,在所有用户中有读、写、删除权限
click here for the screen shot showing the error and the solution in the update of npm
this is for ubuntu i don't know is it work for other os
此命令将递归地 (-R) 更改指定目录中当前用户的所有者 (chown)
sudo chown -R $USER /usr/local/lib/node_modules
请不要使用sudo
。
我不知道您的环境上下文,但我在 Plesk 运行.
所在的服务器上遇到错误
也许以下命令可以帮助(通过 SSH)检查权限:
plesk repair fs example.com
.
在我的例子中,node_modules
文件夹是通过 FTP 复制的,因此它有错误的更正。如有必要,您可以删除它并使用 Npm installation
按钮通过 Plesk 安装它。
信息:仅当文档包含带有信息的 package.json
时才会显示该按钮。
对于上面所有告诉不要使用 sudo
的警告,我将添加以下解决方案,该解决方案在安装 n, node version manager
时对我来说效果很好
sudo chown -R $USER /usr/local/lib/node_modules
这是从这里截取的:https://poopcode.com/missing-write-access-to-usr-local-lib-node-modules/
PS:对于我的特定用例,之后我还需要 运行 这个
sudo chown -R $USER /usr/local/bin/
注意:出于安全考虑,请不要使用标记的解决方案,而是 !
原题:
我正在尝试使用此命令安装 monaca。
npm install -g monaca
但是在收到这些错误之后:
npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules npm ERR! path /usr/local/lib/node_modules npm ERR! code EACCES npm ERR! errno -13 npm ERR! syscall access npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules' npm ERR! { Error: EACCES: permission denied, access '/usr/local/lib/node_modules' npm ERR! stack: 'Error: EACCES: permission denied, access \'/usr/local/lib/node_modules\'', npm ERR! errno: -13, npm ERR! code: 'EACCES', npm ERR! syscall: 'access', npm ERR! path: '/usr/local/lib/node_modules' }
知道如何解决这个问题吗? 谢谢
解决此问题的不明智方法是使用 sudo:
sudo npm install -g monaca
然而,最好找到不使用 sudo 的解决方法。
注意:强烈建议避免将 sudo
与 npm 一起使用!
不推荐使用 sudo。稍后可能会给您权限问题。虽然上述方法有效,但使用
安装 npm 后将以下行添加到 ~/.bashrc:
npm set prefix ~/.npm
PATH="$HOME/.npm/bin:$PATH"
PATH="./node_modules/.bin:$PATH"
更改后执行以下行:
source ~/.bashrc
并且如@contemplator 所述,避免使用 sudo
好吧,我使用 --save-dev
并没有全局安装它或使用 -g
,主要问题发生在您希望它写入默认 node_modules
文件夹时。
在检查多个问题 4 小时后,它解决了我的问题。
我什至建议您使用 npm init
并制作一个 package.json
以进行更好的依赖性检查,然后再 run npm
安装。这个视频可以帮助你 https://www.youtube.com/watch?v=rTsz09zRuTU
很简单 你可以使用
sudo npm install -g kazam
或
su -
然后
npm install -g kazam
解释
su -
让你成为root,在所有用户中有读、写、删除权限 click here for the screen shot showing the error and the solution in the update of npm
this is for ubuntu i don't know is it work for other os
此命令将递归地 (-R) 更改指定目录中当前用户的所有者 (chown)
sudo chown -R $USER /usr/local/lib/node_modules
请不要使用sudo
。
我不知道您的环境上下文,但我在 Plesk 运行.
所在的服务器上遇到错误也许以下命令可以帮助(通过 SSH)检查权限:
plesk repair fs example.com
.
在我的例子中,node_modules
文件夹是通过 FTP 复制的,因此它有错误的更正。如有必要,您可以删除它并使用 Npm installation
按钮通过 Plesk 安装它。
信息:仅当文档包含带有信息的 package.json
时才会显示该按钮。
对于上面所有告诉不要使用 sudo
的警告,我将添加以下解决方案,该解决方案在安装 n, node version manager
sudo chown -R $USER /usr/local/lib/node_modules
这是从这里截取的:https://poopcode.com/missing-write-access-to-usr-local-lib-node-modules/
PS:对于我的特定用例,之后我还需要 运行 这个
sudo chown -R $USER /usr/local/bin/