意外的标记 '。'当试图 运行 'npm install'
Unexpected token '.' when trying to run 'npm install'
我正在尝试使用 'npm install -g @angular/cli' 安装 angular cli,但我遇到了以下错误:
npm ERR! Unexpected token '.'
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\<user>\AppData\Local\npm-cache\_logs22-02-02T15_25_07_320Z-debug-0.log
npm 版本:8.3.1
节点版本:v17.4.0
如有任何帮助,我们将不胜感激!谢谢:)
您可以尝试通过 rm package-lock.json
删除 package-lock.json。然后重试。
这是 npm 版本 8.3.1 的 reported issue。
最好的办法是跳过此版本(使用 8.3.2 或 8.4),使用早期版本 (8.3.0) 或使用其他节点版本 (< 17)。
主要问题是,如果你尝试按照angular的步骤安装,难免会运行出现这个错误,因为node.js的推荐版本是16.14 .0,node 已经告诉你它带有 8.3.1 node 版本:
captura de pantalla de node.js con la versión recomendada de node
为了解决这个问题,你可以安装node versión 16.13.2,它是npm 8.1.2版本(而不是8.1.3)自带的,正如这里所说:https://nodejs.org/en/download/releases/
注:我用的是nvm
然后你可以安装angular。
另一种可能性,如果您想将 angular 与节点 16.14.0 一起使用,可能是升级 npm 版本。问题是,当您尝试这样做时,会出现与您尝试安装 angular.
时出现的错误相同的错误
为了解决这个问题,我推荐这个:
a) 安装使用另一个版本的 npm 的先前版本的节点,如 npm 8.1.2 附带的节点 16.13.2。就我个人而言,我通过 nvm(节点版本管理器)为 windows.
提供了多个节点版本
b)复制本次node安装16.13.2的npm包,修改到node 16.14.0的文件夹中(删除或重命名之前的旧npm文件夹)
c) 使用节点 16.14.0 输入 nvm use 16.4.0
d) 升级 npm 输入 npm install -g npm@latest.
在这里你可以看到序列:
首先,重命名 npm 8.1.3 并粘贴 npm 8.1.2:
Muestra cómo quedan las carpetas con el npm
然后,您可以在 MS-DOS 控制台中看到这里的命令:
C:\Users\AB>npm -v
8.1.2
C:\Users\AB>npm version
{
npm: '8.1.2',
node: '16.14.0',
v8: '9.4.146.24-node.20',
uv: '1.43.0',
zlib: '1.2.11',
brotli: '1.0.9',
ares: '1.18.1',
modules: '93',
nghttp2: '1.45.1',
napi: '8',
llhttp: '6.0.4',
openssl: '1.1.1m+quic',
cldr: '40.0',
icu: '70.1',
tz: '2021a3',
unicode: '14.0',
ngtcp2: '0.1.0-DEV',
nghttp3: '0.1.0-DEV'
}
C:\Users\AB>npm install -g npm@latest
removed 186 packages, changed 19 packages, and audited 36 packages in 25s
found 0 vulnerabilities
C:\Users\AB>npm version
{
npm: '8.5.2',
node: '16.14.0',
v8: '9.4.146.24-node.20',
uv: '1.43.0',
zlib: '1.2.11',
brotli: '1.0.9',
ares: '1.18.1',
modules: '93',
nghttp2: '1.45.1',
napi: '8',
llhttp: '6.0.4',
openssl: '1.1.1m+quic',
cldr: '40.0',
icu: '70.1',
tz: '2021a3',
unicode: '14.0',
ngtcp2: '0.1.0-DEV',
nghttp3: '0.1.0-DEV'
}
C:\Users\AB>npm install -g @angular/cli
added 189 packages, and audited 191 packages in 1m
found 0 vulnerabilities
C:\Users\AB>ng version
_ _ ____ _ ___
/ \ _ __ __ _ _ _| | __ _ _ __ / ___| | |_ _|
/ △ \ | '_ \ / _` | | | | |/ _` | '__| | | | | | |
/ ___ \| | | | (_| | |_| | | (_| | | | |___| |___ | |
/_/ \_\_| |_|\__, |\__,_|_|\__,_|_| \____|_____|___|
|___/
Angular CLI: 13.2.5
Node: 16.14.0
Package Manager: npm 8.5.2
OS: win32 x64
Angular:
Package Version
------------------------------------------------------
@angular-devkit/architect 0.1302.5 (cli-only)
@angular-devkit/core 13.2.5 (cli-only)
@angular-devkit/schematics 13.2.5 (cli-only)
@schematics/angular 13.2.5 (cli-only)
在 Win 10、npm 8.1.2、node 16.14.2、nvm 1.1.17 和 1.1.19 上有这个问题。
根据此答案降级到节点 16.13.2 解决了问题:https://github.com/npm/cli/issues/4234#issuecomment-1025421643
她的其他一些回答可能是正确的。懒得去调查,试了yarn。
在我的例子中,我在安装 npm-check-updates 时遇到了“意外的令牌‘.’”错误,并通过使用 yarn 安装它来修复它。
yarn global add npm-check-updates
我正在尝试使用 'npm install -g @angular/cli' 安装 angular cli,但我遇到了以下错误:
npm ERR! Unexpected token '.'
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\<user>\AppData\Local\npm-cache\_logs22-02-02T15_25_07_320Z-debug-0.log
npm 版本:8.3.1 节点版本:v17.4.0
如有任何帮助,我们将不胜感激!谢谢:)
您可以尝试通过 rm package-lock.json
删除 package-lock.json。然后重试。
这是 npm 版本 8.3.1 的 reported issue。
最好的办法是跳过此版本(使用 8.3.2 或 8.4),使用早期版本 (8.3.0) 或使用其他节点版本 (< 17)。
主要问题是,如果你尝试按照angular的步骤安装,难免会运行出现这个错误,因为node.js的推荐版本是16.14 .0,node 已经告诉你它带有 8.3.1 node 版本: captura de pantalla de node.js con la versión recomendada de node
为了解决这个问题,你可以安装node versión 16.13.2,它是npm 8.1.2版本(而不是8.1.3)自带的,正如这里所说:https://nodejs.org/en/download/releases/
注:我用的是nvm
然后你可以安装angular。
另一种可能性,如果您想将 angular 与节点 16.14.0 一起使用,可能是升级 npm 版本。问题是,当您尝试这样做时,会出现与您尝试安装 angular.
时出现的错误相同的错误为了解决这个问题,我推荐这个:
a) 安装使用另一个版本的 npm 的先前版本的节点,如 npm 8.1.2 附带的节点 16.13.2。就我个人而言,我通过 nvm(节点版本管理器)为 windows.
提供了多个节点版本b)复制本次node安装16.13.2的npm包,修改到node 16.14.0的文件夹中(删除或重命名之前的旧npm文件夹)
c) 使用节点 16.14.0 输入 nvm use 16.4.0
d) 升级 npm 输入 npm install -g npm@latest.
在这里你可以看到序列:
首先,重命名 npm 8.1.3 并粘贴 npm 8.1.2: Muestra cómo quedan las carpetas con el npm
然后,您可以在 MS-DOS 控制台中看到这里的命令:
C:\Users\AB>npm -v
8.1.2
C:\Users\AB>npm version
{
npm: '8.1.2',
node: '16.14.0',
v8: '9.4.146.24-node.20',
uv: '1.43.0',
zlib: '1.2.11',
brotli: '1.0.9',
ares: '1.18.1',
modules: '93',
nghttp2: '1.45.1',
napi: '8',
llhttp: '6.0.4',
openssl: '1.1.1m+quic',
cldr: '40.0',
icu: '70.1',
tz: '2021a3',
unicode: '14.0',
ngtcp2: '0.1.0-DEV',
nghttp3: '0.1.0-DEV'
}
C:\Users\AB>npm install -g npm@latest
removed 186 packages, changed 19 packages, and audited 36 packages in 25s
found 0 vulnerabilities
C:\Users\AB>npm version
{
npm: '8.5.2',
node: '16.14.0',
v8: '9.4.146.24-node.20',
uv: '1.43.0',
zlib: '1.2.11',
brotli: '1.0.9',
ares: '1.18.1',
modules: '93',
nghttp2: '1.45.1',
napi: '8',
llhttp: '6.0.4',
openssl: '1.1.1m+quic',
cldr: '40.0',
icu: '70.1',
tz: '2021a3',
unicode: '14.0',
ngtcp2: '0.1.0-DEV',
nghttp3: '0.1.0-DEV'
}
C:\Users\AB>npm install -g @angular/cli
added 189 packages, and audited 191 packages in 1m
found 0 vulnerabilities
C:\Users\AB>ng version
_ _ ____ _ ___
/ \ _ __ __ _ _ _| | __ _ _ __ / ___| | |_ _|
/ △ \ | '_ \ / _` | | | | |/ _` | '__| | | | | | |
/ ___ \| | | | (_| | |_| | | (_| | | | |___| |___ | |
/_/ \_\_| |_|\__, |\__,_|_|\__,_|_| \____|_____|___|
|___/
Angular CLI: 13.2.5
Node: 16.14.0
Package Manager: npm 8.5.2
OS: win32 x64
Angular:
Package Version
------------------------------------------------------
@angular-devkit/architect 0.1302.5 (cli-only)
@angular-devkit/core 13.2.5 (cli-only)
@angular-devkit/schematics 13.2.5 (cli-only)
@schematics/angular 13.2.5 (cli-only)
在 Win 10、npm 8.1.2、node 16.14.2、nvm 1.1.17 和 1.1.19 上有这个问题。 根据此答案降级到节点 16.13.2 解决了问题:https://github.com/npm/cli/issues/4234#issuecomment-1025421643
她的其他一些回答可能是正确的。懒得去调查,试了yarn。
在我的例子中,我在安装 npm-check-updates 时遇到了“意外的令牌‘.’”错误,并通过使用 yarn 安装它来修复它。
yarn global add npm-check-updates