node.js - npm 不安装任何包无法读取 null 的属性“版本”
问题描述
我正在使用节点 v16.7.0 和 npm v7.20.3。我买了新的笔记本电脑(w10)并安装了节点,但从那以后(差不多一周),我无法启动任何与节点相关的项目,因为我无法安装任何 npm 包。每当我尝试“npm install”时
npm install <package>
我得到错误:
npm ERR! Cannot read property 'version' of null
我深入研究了整个网络以找到解决方案,但我找不到。有人可以帮我解决这个问题吗这是我在 Stackoverflow 中的第一个问题。此外,如果我在 Ubuntu 或 WSL2(Linux 的 Web 子系统)上使用双启动,即使我从事 Web 开发无事可做,我在开发工具上的错误也会减少与内核。谢谢...
编辑:我在 Windows 的用户名文件夹中有空格和非英文字符,所以我尝试更改我的用户名和用户名文件夹,它解决了我的问题。(请注意,更改用户名不会反映到用户名文件夹,你必须为此设置额外的配置) .
解决方案
该错误消息意味着 npm 正在尝试读取version
文件夹文件的属性,package.json
但没有找到该文件。
检查您的package.json
文件夹中是否有文件,并查看该version
属性的值是什么。
如果您需要package.json
开箱即用地创建文件,请运行npm init
并按照说明进行操作。有关更多信息,请查看有关npm init
.
另外,请确保您已正确安装 Node。建议使用 Node 版本管理器来管理您的 Node 安装。
此外,如果我在 Ubuntu 或 WSL2(Linux 的 Web 子系统)上使用双启动,即使我从事与内核无关的 Web 开发,开发工具的错误也会减少
是的,最好使用 Ubuntu 进行双重引导。虚拟机可能很慢,需要额外的配置来提高性能,而且 WSL 上报告了很多问题。
大多数开发工具在 Linux 上原生工作,因此在 Linux 上运行得更好。归根结底,这取决于您正在使用什么语言进行开发以及您正在为什么环境进行开发。
一般来说,Linux 将使您的开发体验变得不那么麻烦。有关这些工具的信息、教程和故障排除也更容易用于 Linux。
从 Windows 切换到 Linux 的最大好处之一是包管理和命令行界面。Linux 使运行命令变得简单直接,而 Windows 可能需要额外的配置、其他解决方法和中间步骤。
推荐阅读
- arrays - Python 3 how to use an array to import a module?
- c# - 如何在 Xcode 项目中添加缺少的“Embedded Binaries”部分 > TARGETS for the.Net Embedding HELLO WORLD
- javascript - accessing children of divs using tab
- ruby - 使用匹配的关键字参数直接将结构传递给方法
- java - 为什么我的应用程序因 NullPointerException 而崩溃
- function - 在嵌套 if 语句中调用函数
- python - 当我使用请求 API 调用时出现 Python MemoryError
- node.js - 如何在 AWS 上为 NodeJS 项目设置持续部署管道?
- python - 写入文件时如何摆脱\n?
- javascript - Javascript 相当于 LEFT OUTER JOIN 在 WHERE 子句中带有 NULL