最近,每当我运行任何npm脚本时,我都会收到以下警告:
npm WARN npm npm does not support Node.js v12.4.0
npm WARN npm You should probably upgrade to a newer version of node as we
npm WARN npm can't make any promises that npm will work with this version.
npm WARN npm Supported releases of Node.js are the latest release of 6, 8, 9, 10, 11.
npm WARN npm You can find the latest version at https://nodejs.org/
它说我应该升级到新版本,但是v12.4 是最新版本。即使脚本运行正常,我也无法保证,并且随时可能会出现问题。
我还尝试过更新npm
,以防使用npm install npm -g
有较新的版本,但出现错误:
npm ERR! path /usr/local/Cellar/node/12.4.0/lib/node_modules/npm
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/usr/local/Cellar/node/12.4.0/lib/node_modules/npm'
npm ERR! [Error: EACCES: permission denied, access '/usr/local/Cellar/node/12.4.0/lib/node_modules/npm'] {
npm ERR! stack: 'Error: EACCES: permission denied, access ' +
npm ERR! "'/usr/local/Cellar/node/12.4.0/lib/node_modules/npm'",
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'access',
npm ERR! path: '/usr/local/Cellar/node/12.4.0/lib/node_modules/npm'
npm ERR! }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator (though this is not recommended).
然后我发现npm
的Homebrew版本无法使用npm本身进行更新,因此我尝试使用Homebrew
通过brew upgrade npm
进行更新,但是出现了以下错误:
Error: npm 12.4.0 already installed
出于某种原因,Brew混淆了node
和npm
的版本。
我在做什么错了,如何摆脱这个警告?
答案 0 :(得分:1)
似乎您搞砸了/usr/local
中的权限。
以下是解决方法:
修复/usr/local
权限:
sudo chown -R `id -un`:`id -gn` /usr/local
清理npm
缓存并卸载它:
npm cache clean -f
npm -g uninstall npm
使用node
重新安装npm
brew reinstall node
升级npm
:
npm -g i npm
那应该带来npm@6.9.2
。
在安装带有sudo
或brew
的软件时,应避免使用npm
,这可能会导致类似的问题。
答案 1 :(得分:0)
对我有用的东西
如果您尝试运行此命令“ npm cache clean -f”,但它不起作用,
Windows机器上的(我的机器是Windows 10) 访问此位置“〜\ AppData \ Roaming \”中的“ npm”和“ npm-cache”文件夹
删除这两个文件夹“ npm”和“ npm-cache”。
转到Windows搜索栏并搜索Node,右键单击以打开文件位置,运行卸载程序以卸载NodeJ。
然后访问nodejs.org并再次下载并安装节点(如果您已经下载了它),请访问下载它的文件夹以重新安装它。
安装后,通过在命令终端上键入“ npm -v”来检查您的npm版本,以查看计算机上安装的npm的新更新版本。
现在您已经准备好了,祝您编程愉快。
答案 2 :(得分:0)
在 Styx 发布的步骤 4 之后,并且如果节点声称安装了较新的版本,但npm -v仍然显示过时的版本
通过酿造安装的 Mac 和节点的代码:
cd /usr/local/bin/
mv npm npm-backup
mv npx npx-backup
ln -s /usr/local/Cellar/node/14.2.0/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm
ln -s /usr/local/Cellar/node/14.2.0/lib/node_modules/npm/bin/npx-cli.js /usr/local/bin/npx
npm -version
6.14.5
答案 3 :(得分:0)
我遇到了这个问题,上面的步骤对我不起作用。我认为,如果您尝试升级Node或NPM而又不更新其他节点,则可能会发生这种情况。至少我认为那是我发生的事情。
我正在尝试创建一个新的Angular项目,并且我的计算机上有一个非常旧的版本。升级Node时出现错误,因此将其升级到最新版本。之后,我在运行任何npm命令时都会出错。
我只需通过以下方法解决了它: https://nodejs.org/en/download/
获取最新版本并将其安装在pkg文件(mac)中。安装完成后,我可以运行所有程序。我猜它之所以有用,是因为每个版本都不匹配,因此如果不降级一个版本就无法运行。
我也尝试了冲泡选项,但遇到其他问题。我的公司计算机有时会阻止该路线中的安装,因此它可能对其他人有用。
答案 4 :(得分:0)
这里的答案都没有奏效。我不得不删除 npm 和 npm-cache 文件夹,然后重新安装 npm。详情请见:npm does not support Node.js v12.18.3
答案 5 :(得分:0)
如果您有 def make_hash(partner: str, df: pd.DataFrame) -> pd.DataFrame:
new_df = df # Or copy.deepcopy it if you want a new df
new_df["ID"] = new_df.apply(CallableHash(partner), axis=1)
return new_df
,您可能会遇到问题,即安装在某个版本上的节点版本不匹配。
例如,我不小心使用了:nvm
导致我的 nvm npm i -g node --force
指向 v12.21.0
(当时最新版本的 node 可直接下载)。
解决:我跑了:
v16.5.0
brew uninstall nvm
。brew install nvm
nvm uninstall 12.21
nvm install 12.21
,结果是在该虚拟节点上安装了最新版本的 npm i -g npm
。npm
)后,您可能还想检查您的:npm i
。~/.npmrc
它应该看起来像这样:(或者你可能没有。
答案 6 :(得分:-1)
看起来像是权限问题。尝试使用sudo