我正在尝试在phpstorm上设置较少,因此我可以在保存时将.less文件编译为.css。我已安装node.js,下一步(根据此https://www.jetbrains.com/webstorm/help/transpiling-sass-less-and-scss-to-css.html)在终端中运行此命令
npm install -g less
但是,当我这样做时,我会收到这些错误
☁ ~ npm install -g less
npm WARN install Couldn't install optional dependency: EACCES: permission denied, mkdir '/Users/brentscholl/.npm/mkdirp/0.5.1'
npm WARN install Couldn't install optional dependency: EACCES: permission denied, mkdir '/Users/brentscholl/.npm/graceful-fs/3.0.8'
npm WARN install Couldn't install optional dependency: EACCES: permission denied, mkdir '/Users/brentscholl/.npm/extend/3.0.0'
npm WARN install Couldn't install optional dependency: EACCES: permission denied, mkdir '/Users/brentscholl/.npm/readable-stream/2.0.4'
npm WARN install Couldn't install optional dependency: EACCES: permission denied, mkdir '/Users/brentscholl/.npm/chalk/1.1.1'
npm WARN install Couldn't install optional dependency: EACCES: permission denied, mkdir '/Users/brentscholl/.npm/xtend/4.0.1'
npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules
/usr/local/lib
└─┬ less@2.5.3
├─┬ errno@0.1.4
│ └── prr@0.0.0
├── image-size@0.3.5
├── mime@1.3.4
├─┬ promise@6.1.0
│ └── asap@1.0.0
└─┬ source-map@0.4.4
└── amdefine@1.0.0
npm ERR! Darwin 15.0.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "less"
npm ERR! node v5.0.0
npm ERR! npm v3.3.6
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! at Error (native)
npm ERR! { [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' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! Please include the following file with any support request:
npm ERR! /Users/brentscholl/npm-debug.log
我在这里是一个完整的菜鸟,不知道下一步该做什么。任何帮助将非常感谢!
答案 0 :(得分:162)
不建议使用sudo。它可能会在稍后给你许可问题。 虽然上述工作,但我不喜欢将root拥有的文件夹更改为可供用户写入,尽管它可能只是多个用户的问题。 要解决这个问题,您可以使用一个群组,使用  npm用户'但这也是更多的管理开销。 有关处理文档权限的选项,请参阅此处: https://docs.npmjs.com/getting-started/fixing-npm-permissions
我会选择选项2:
为了最大限度地减少权限错误的可能性,您可以将npm配置为 使用不同的目录。在这个例子中,它将是一个隐藏的 您的主文件夹上的目录。
为全局安装创建一个目录:
mkdir ~/.npm-global
配置npm以使用新目录路径:
npm config set prefix '~/.npm-global'
打开或创建〜/ .profile文件并添加以下行:
export PATH=~/.npm-global/bin:$PATH
返回命令行,更新系统变量:
source ~/.profile
测试:在不使用sudo的情况下全局下载软件包。
npm install -g jshint
如果仍显示权限错误运行(mac os):
sudo chown -R $USER ~/.npm-global
这适用于默认的ubuntu安装:
sudo apt-get install nodejs npm
如果您想要更灵活地管理版本,我建议nvm
:
https://github.com/creationix/nvm
在MacOS上使用brew,如果您使用的是最近的sudo
版本,它应该可以在没有npm
的情况下开箱即用。
享受:)
答案 1 :(得分:62)
在终端窗口中运行这些命令(注意:不要替换$ USER部分......这是一个linux命令来吸引你的用户!):
sudo chown -R $USER ~/.npm
sudo chown -R $USER /usr/lib/node_modules
sudo chown -R $USER /usr/local/lib/node_modules
答案 2 :(得分:7)
使用节点版本管理器重新安装节点和npm(根据written in npm documentation)以避免权限错误:
在OSX中:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
或遵循这篇文章:
http://dev.topheman.com/install-nvm-with-homebrew-to-use-multiple-versions-of-node-and-iojs-easily/
Windows用户应安装nvm-windows。 有关如何安装nvm的更多帮助,请参阅nvm readme。
然后选择例如:
nvm install 8.0.0
nvm use 8.0
现在你可以再试一次:
npm install -g less
答案 3 :(得分:5)
Mac OS X答案
您没有对node_modules目录的写权限
npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules
将您的用户添加到具有写访问权限的目录中
答案 4 :(得分:4)
使用sudo -i切换到$ root,然后执行npm install -g xxxx
答案 5 :(得分:3)
您可以使用此命令和 root 密码为 node_module
文件夹添加写入权限:
sudo chown -R $USER /usr/local/lib/node_modules
答案 6 :(得分:2)
在我的Mac环境中
sudo chown -R $USER /usr/local/lib/node_modules
解决问题
答案 7 :(得分:1)
我尝试了所有建议的解决方案,但没有任何效果。
我正在使用macOS Catalina 10.15.3
转到/ usr / local /
选择bin文件夹>获取信息
然后转到终端并运行npm install -g @ ionic / cli
它帮助了我。
答案 8 :(得分:1)
你可以用sudo试试,如下
sudo npm install -g less
如果不行,可以参考这个链接 https://ionicframework.com/docs/developing/tips#resolving-permission-errors
答案 9 :(得分:0)
sudo chown -R $ USER / usr / local / lib / node_modules 此命令将起作用
答案 10 :(得分:0)
尝试使用 sudo
安装。我在全局安装 npm 包时遇到了类似的问题。出现问题是因为当前用户没有更改目录的写权限。
没用
npm i -g vsce
工作
sudo npm i -g vsce
答案 11 :(得分:-1)
嗨,我正在使用Ubuntu 18,在安装Prisma时也收到了此错误消息,然后我只是在前面添加了--
DECLARE
lv_coll NUMBERTABLETYPE ;
lv_col2 NUMBERTABLETYPE ; -- added this line to hold the data
LV_COUNT NUMBER:=0;
CURSOR c1
IS
SELECT ID FROM TEST_TAB WHERE ROWNUM<=100;
BEGIN
OPEN c1;
LOOP
--dbms_output.put_line('BEFORE FETCH CURSOR COUNT '||C1%ROWCOUNT);
FETCH c1 bulk collect INTO lv_coll limit 10;
EXIT WHEN lv_coll.COUNT = 0; -- added this line
lv_col2 := lv_coll; -- added this line
--dbms_output.put_line('AFTER FETCH CURSOR COUNT '||C1%ROWCOUNT);
-- EXIT
--WHEN c1%NOTFOUND;
-- LV_COUNT:=LV_COUNT+1;
--dbms_output.put_line(' BELOW NOT FOUND '||LV_COUNT);
--dbms_output.put_line('COLLECTION COUNT '||lv_coll.count);
END LOOP;
CLOSE c1;
--RETURN lv_coll;
FOR I IN 1..lv_col2.COUNT LOOP -- added this line
dbms_output.put_line(lv_col2(I)); -- added this line
END LOOP;
END;
/
sudo
答案 12 :(得分:-2)
在Linux中,请确保使用以下命令获得所有权限:
sudo su
答案 13 :(得分:-3)
另一种选择是使用安装程序下载并安装新版本。