Development Tips
解决权限错误
当全局安装软件包时,可能会出现 EACCES 权限错误。如果出现这种情况,可能需要配置 npm 使其无需提升权限即可运行。
备注
不建议将 sudo 与 npm 一起使用,因为这可能会导致更多复杂问题。
本指南提供了两种解决权限问题的方案。完整文档和其他选项请参阅 npm 文档。
方案一
避免权限问题的最佳方法是使用 node 版本管理器重新安装 NodeJS 和 npm。
本指南将记录 nvm 的安装和使用。完整文档请参阅 nvm 文档。其他选项和 Windows 系统的说明请参阅 npm 文档。
-
安装 nvm。
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash -
现在新终端将使用 nvm。要验证安装,请打开新终端并运行以下命令。如果有输出,则安装成功。
$ command -v nvm -
要下载并安装最新的 NodeJS LTS 版本,请运行:
$ nvm install --lts -
将新安装的 NodeJS 设置为默认环境:
$ nvm alias default lts/* -
现在新终端将使用 nvm 控制的 NodeJS。要验证:
$ node -v # 将打印上面安装的版本
$ which npm # 将打印 ~/.nvm 文件夹内的路径
现在全局软件包将安装在 ~/.nvm 目录中,因此只要在不使用 sudo 的情况下使用 npm,应该就不会再出现权限错误。
方案二
不适用于 Windows 系统将 npm 目录的所有者更改为当前用户:
$ sudo chown -R $(whoami) /usr/local/{lib/node_modules,bin,share}
$ sudo chown -R $(whoami) /usr/lib/node_modules
$ sudo chown -R $(whoami) ~/.npm ~/.npmrc
由于这些全局目录不再由 root 拥有,因此可以在不使用 sudo 的情况下全局安装软件包。
更新依赖项
要更新 npm 依赖项,请运行以下命令,其中 <package-name> 是要更新的软件包:
npm install <package-name>@<version|latest> --save
例如,要将 @ionic/angular 软件包更新到标记为 latest 的版本,请运行:
npm install @ionic/angular@latest --save
建议通过 CLI 更新软件包,因为 npm 现在会优先从 package-lock.json 读取软件包版本。
代码编辑器
有很多代码编辑器可供选择。以下是我们最喜欢的几款:
- Visual Studio Code:微软开发的流行免费文本编辑器
- WebStorm:JetBrains 开发的功能强大的付费编辑器