问题标签 [environment]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
6120 浏览

linux - /usr/bin/env 关于 shebang 线特性的问题

问题

  • 如果将 shell 脚本插入 shebang 行,内核会做什么?
  • 内核如何知道要启动哪个解释器?

说明

我最近想围绕/usr/bin/env编写一个包装器,因为我的 CGI 环境不允许我设置PATH变量,但全局除外(这当然很糟糕!)。

所以我想,“好的。让我们设置 PREPENDPATH 并将PATH设置在 env 的包装器中。”。生成的脚本(此处称为env.1)如下所示:

看起来应该可以。在设置 PREPENDPATH 后,我检查了它们的反应:

看起来绝对完美!到现在为止还挺好。但是看看“Hello World!”会发生什么。

我想我错过了一些关于 UNIX 的基本知识。

即使查看了原始env的源代码,我也很迷茫。它设置环境并启动程序(或者在我看来......)。

0 投票
7 回答
75611 浏览

ruby-on-rails - 你能在 Rails 中获取数据库用户名、密码、数据库名称吗?

我正在编写一个在 Rails/ActiveRecord 之外执行一些数据库工作的 rake 任务。

有没有办法获取当前环境中定义的数据库连接信息(主机、用户名、密码、数据库名称)database.yml

我想得到它,这样我就可以用它来像这样连接......

0 投票
4 回答
858 浏览

php - 使用 php cli 创建测试环境

我想在控制台模式下使用 php 并创建一个环境来测试我的功能。

我不想每次想测试一个功能时都被迫使用网络浏览器并创建一个新文件。

我想在控制台中访问该函数,然后返回结果。

我该怎么做呢?

更新:

也许我解释得不好。我只想看看函数返回什么结果。

也许我必须学习单元测试,但目前我只想要一个交互式控制台,它可以让我一个一个地测试所有功能。

在我的情况下,我必须加载 wordpress 函数(我知道如何使用常规.php文件,然后使用浏览器解析文件),但如果可以从命令行使用 php,我不会这样做。

0 投票
4 回答
7051 浏览

php - PHP中的开发和生产环境

我想为我用 PHP 编写的新网站设置两个环境。一 - 开发新版本并对其进行测试。第二个产品将提供我实际稳定的网站版本。

PHP 中的网站将包含许多 PHP 和其他文件(JS、图像等)。所以我想如何以最好的方式准备这个环境,以便于进行源代码控制,快速将网站从开发环境复制到生产环境,并使开发版本可供网络上的人们使用,以便他们能够看到实际的工作进度并建议更改或报告错误。

您能否给我一些建议,从这个起点到哪里去?有没有关于这方面的书(从实际的角度来看?)或者你有经验或提示需要注意什么,什么是重要的,以使这个过程对我和参与开发新项目的其他人有益?

0 投票
2 回答
233 浏览

c# - 环境选择器

dotnet 中是否有任何开源或使用环境选择器,它允许我简单地创建一组环境(无论这对我的应用程序意味着什么),然后在启动时有一个选择器。

构建一个简单的定制化并不难,但我想这在每家公司都会一遍又一遍地完成,所以想看看是否有一个放在一起。

0 投票
7 回答
507532 浏览

shell - .bashrc、.bash_profile 和 .environment 有什么区别?

这些年来,我使用了许多不同的基于 *nix 的系统,似乎我使用的每一种 Bash 都有不同的算法来决定运行哪些启动脚本。对于设置环境变量和别名以及打印启动消息(例如 MOTD)等任务,哪个启动脚本适合执行这些任务?

.bashrc把东西放进去,.bash_profile和有什么区别.environment?我还看到了其他文件,例如.login,.bash_login.profile; 这些有关系吗?物理登录、通过 ssh 远程登录和打开新的终端窗口时运行的有什么区别?跨平台(包括 Mac OS X(及其 Terminal.app)和 Cygwin Bash)是否存在显着差异?

0 投票
3 回答
2338 浏览

c++ - 在静态初始化程序中使用 getenv() 是否安全,即在 main() 之前?

我查看了StevensPosix Programmer's Guide,我能找到的最好的是

当进程开始时,一个称为环境的字符串数组可用。该数组由外部变量 指向,environ定义为:

extern char **environ;

正是那个环境变量让我犹豫不决。我想说

- 调用进程/shell 已经分配了空终止字符串块

- 'external' 变量被getenv()environ用作入口点。

- ipso facto可以随意在静态初始化程序中调用getenv() 。

但是我找不到任何保证environ的“静态初始化”在所有其他静态初始化代码之前。这是我想太多了吗?

更新

我的平台(AMD Opteron、Redhat 4、GCC 3.2.3)上,设置LD_DEBUG表明在调用我的静态初始化程序之前设置了environ 。这是一件好事。谢谢,@codelogic。但这不一定是我在所有平台上都能得到的结果。

此外,虽然我直观地同意@ChrisW 关于 C/C++ 运行时库的行为,但这只是我基于经验的直觉。因此,任何可以从某个权威的地方引用来保证环境在调用静态初始化程序之前就在那里的人,加分!

0 投票
2 回答
573 浏览

svn - 改善工作中的开发环境

在不久的将来,我将有大约 2 周的时间来移动和改进我们工作中的开发环境。

我们主要开发一个大型 PHP/MySQL 项目,有 2-10 名开发人员。

目前我们有一个开发服务器,使用 mod_userdir 运行 apache,每个开发人员在他的(samba 可访问)家中都有一个 /public_html 文件夹。对于 VCS 和项目管理/问题跟踪,我们使用 Subversion 和 Trac。测试/部署需要一些手动步骤,那里没有太多自动化。

我对新设置的计划包括对现有内容的以下更改:

  • 持续集成
  • 将 CI 集成到 Trac,创建/查找一个插件,该插件提供在构建进度成功或失败后启动操作(即部署到 staging/live)
  • 创建自动化部署脚本(一键式)
  • 将(doxygen)文档集成到构建进度中,并以某种方式集成到 Trac
  • 添加自动版本控制
  • 添加另一层监控(本地nagios监控我们的生产系统nagios)
  • 添加一个夜间运行的 MySQL Replication Slave,然后开发人员可以使用它来测试 up2date 数据上的东西
  • 查看备份计划
  • 记录我以这种方式设置所有内容的方式和原因

您有什么可以进一步改进的提示/提示吗?我们应该以不同的方式做些什么?

0 投票
3 回答
7888 浏览

macos - 如何在 os x 中设置应用程序使用的 $PATH

我正在使用 ant 构建我的项目,并使用“svnversion”可执行文件将版本 ID 插入到我的源代码中,以便于跟踪版本。

从命令行运行这个 ant 文件是可行的,我在 .profile 中设置了我的 $PATH 以包含 svnversion 的路径,它工作正常。

现在我尝试从 Eclipse 内部运行相同的 ant 文件,但它不起作用 - Eclipse 中的 PATH 以不同于 shell 的 PATH 的另一种方式设置,我怀疑这必须在某处的 plist 中设置,但我没有不知道在哪里。

0 投票
3 回答
591 浏览

asp.net - 网络开发设置

我正在建立一个完整的网络开发环境。目前,有两名开发人员,一名专注于后端编程(C#、.NET),另一名专注于前端开发(HTML、CSS、XSLT)。

每个人都安装了 MS Visual Studio 2008 并通过 Visual Source Safe 2005 共享源代码。他们既签出文件又在本地开发。

我已经设置了一个测试服务器,它是合并和测试代码最终应该结束的计划,并且该服务器应该始终是“正确”版本。

3 个安装中的每一个都共享相同的数据库。

我认为这个设置应该有点规模,因为我正在为更多的开发人员做准备,但是我们在文件同步和快速更改的轻松访问方面存在很多问题。通常我们需要非常快速地更改一些布局和设计并最终手动将文件复制到测试服务器(我不希望网络服务器上有任何 .NET/C# 代码文件),并且站点失败:-(

我们使用标准的 CMS 来构建我们所有的前端工作,如果它包含在源代码安全中,它确实会减慢速度。

我希望我们所有的前端工作都与我们的后端代码完全分开,这样很容易进行更改。

例如。我们希望对设计进行一些更改并将其快速部署到我们的生产环境中,而无需考虑 .NET 代码。

有什么我遗漏的,或者设置 Web 开发环境的最佳实践是什么?

期待一些帮助/经验:-)

/托马斯